28 lines
882 B
TypeScript
28 lines
882 B
TypeScript
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);
|
|
});
|