Backup
VACUUM INTO, which is safe under concurrent
writers. Alongside the snapshot it writes a sidecar manifest recording:
- Schema version
- Migration count
- Engine version
- Size
- A SHA-256 checksum, verified after writing
Restore
- Verifies the checksum from the manifest.
- Refuses backups newer than the running binary — you cannot restore a future schema into an older engine.
- Refuses to overwrite a non-empty target without an explicit flag.
- Refuses to replace the database the instance currently has open.
- Swaps atomically — temp file, fsync, rename.
Portable export and import
Export coverage
Export covers core commerce and finance domains. Returns, invoices, payments, and bills are export-only — their state-machine history cannot be replayed through a singlecreate.
Coverage is documented in the module docs.
Proving recovery works
A backup you have restored once is a recovery plan. A backup you restore on every release is evidence. The drill does the second:artifacts/operations-recovery/evidence.json with a summary and
hash-bound logs — a restore actually performed, not a claim that one would
work.
Choosing between them
Next steps
API hardening
Defaults that changed, and what refuses to start.
Embedded engine
The engine these maintenance calls run against.
Admin console
Operating the engine day to day.
iCommerce CLI
The same operations from the command line.