Verify SQLite backups and restores
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
import path from "node:path";
|
||||
import { createVerifiedDatabaseBackup } from "../src/db/database-backup.js";
|
||||
|
||||
const dataDirectory = path.resolve("data");
|
||||
const source = path.join(dataDirectory, "leistungsbilanz.db");
|
||||
const backupDirectory = path.join(dataDirectory, "backups");
|
||||
const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
|
||||
const destination = path.join(
|
||||
backupDirectory,
|
||||
`leistungsbilanz-${timestamp}.db`
|
||||
);
|
||||
|
||||
async function run() {
|
||||
const verification = await createVerifiedDatabaseBackup(source, destination);
|
||||
console.log(`Backup created and verified: ${destination}`);
|
||||
console.log(
|
||||
`Integrity: ${verification.integrityCheck}; foreign-key violations: ${verification.foreignKeyViolations}`
|
||||
);
|
||||
}
|
||||
|
||||
run().catch((error) => {
|
||||
console.error(
|
||||
"Database backup failed:",
|
||||
error instanceof Error ? error.message : error
|
||||
);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user