lndinit icon indicating copy to clipboard operation
lndinit copied to clipboard

multi: add migrate-db command

Open guggero opened this issue 3 years ago • 4 comments

This is work in progress and NOT recommended to be used with production/mainnet data!

guggero avatar Jul 04 '22 14:07 guggero

Using this code I was getting an error: Runtime error: db connection set not initialized I started looking around and found that you were probably missing this: https://github.com/lightningnetwork/lnd/blob/master/lncfg/db.go#L140

So I added a quick patch: https://github.com/getAlby/lndinit/commit/0ffcae3dd48529e316efe38ef1463a90e25aea14 (should be a config param probably).

And then I was able to do the migration. The last logs were:

2022-07-14 10:41:42.534 LNDINIT: Opened destination DB
2022-07-14 10:41:42.535 LNDINIT: Checking tombstone marker on source DB
2022-07-14 10:41:42.536 LNDINIT: Checking DB version of source DB
2022-07-14 10:41:42.537 LNDINIT: Checking if migration was already applied to target DB
2022-07-14 10:41:42.540 LNDINIT: Starting the migration to the target backend
2022-07-14 10:41:42.540 LNDINIT: Copying top-level bucket 'waddrmgr'
2022-07-14 10:41:48.981 LNDINIT: Committing bucket 'waddrmgr'
2022-07-14 10:41:48.983 LNDINIT: Copying top-level bucket 'wtxmgr'
2022-07-14 10:41:49.016 LNDINIT: Committing bucket 'wtxmgr'
2022-07-14 10:41:49.017 LNDINIT: Creating 'wallet created' marker
2022-07-14 10:41:49.024 LNDINIT: Committing 'wallet created' marker

It seems everything has migrated succesfully, so I would say that a log line indicating this would also be useful.

kiwiidb avatar Jul 14 '22 10:07 kiwiidb

Hello, what happened with this PR? Have been it abandoned? I think this is very useful to migrate an existing bbolt to postgres and following this guide

Thanks!

twofaktor avatar Apr 15 '24 08:04 twofaktor

This is an important PR we need to focus on to allow nodes to finally migrate from kv to native sql. cc @saubyk

ziggie1984 avatar Oct 02 '24 16:10 ziggie1984

sqlite should be added here: https://github.com/lightninglabs/lndinit/pull/21/files#diff-00eb92ba2060dddcdbce2dba1dc551065557b5ebcf98e47e70946e1b50ffd243R453

The top-level bucket structure might also have changed somewhat, so we should update that aspect.

One other thing is we'll need to figure out a way to ensure that all the data has truly been migrated (eg: we don't forget some other top level bucket recently added).

Roasbeef avatar Oct 02 '24 22:10 Roasbeef