Christian Decker
ce49404eb4
backup: Add PRAGMA foreign_keys=on when restoring so cascades work
...
We heavily rely on foreign key constraints to keep the DB consistent and drop
dependent objects such as UTXO set entries when we roll back a block. We also
need to enable the foreign key constraints when restoring otherwise these
dependents are not removed and we run into constraint violations.
2020-04-12 19:35:21 +02:00
Christian Decker
a68758b1d0
backup: Implement the restore method for all backends
...
Also implements the `stream_changes` function in the FileBackend which is used
by `restore` to get all the changes.
2020-04-12 19:35:21 +02:00
Christian Decker
caa5c0a16b
backup: Add the version to the FileBackend format
2020-04-12 19:35:21 +02:00
Christian Decker
8f2eea2840
backend: Make sure that initialize initializes the metadata
2020-04-12 19:35:21 +02:00
Christian Decker
4c146bf2a4
backend: Use th backup URL in backup-cli and add snapshot type to FileBackend
2020-04-12 19:35:21 +02:00
Christian Decker
c58e675877
backup: Ensure at startup that the backup backend was initialized
2020-04-12 19:35:21 +02:00
Christian Decker
97c702731a
backup: Add a bit more documentation to the abstract backend class
2020-04-12 19:35:21 +02:00
Christian Decker
4e19c32444
backup: Add backup-cli tool and use it to initialize the backups
2020-04-12 19:35:21 +02:00
Christian Decker
c049069cff
backup: Initial version of the backup plugin
2020-04-12 19:35:21 +02:00