Verify SQLite backups and restores
This commit is contained in:
parent
4d5eb22e66
commit
030f18aeb0
7 changed files with 205 additions and 22 deletions
27
scripts/db-backup.ts
Normal file
27
scripts/db-backup.ts
Normal 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);
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue