Verify SQLite backups and restores

This commit is contained in:
2026-07-23 19:12:14 +02:00
parent 4d5eb22e66
commit 030f18aeb0
7 changed files with 205 additions and 22 deletions
+27
View File
@@ -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);
});