Initialize cold WAL bookkeeping for subprocess snapshots

This commit is contained in:
syntaxbullet
2026-09-08 16:31:58 +02:00
parent 27beb01144
commit 7c7a048b32
3 changed files with 38 additions and 3 deletions

View File

@@ -7,7 +7,9 @@ const config = JSON.parse(process.argv[3]) as BackupConfig;
const latest = latestBackupTime(config);
if (latest && Date.now() - latest < config.intervalMs) console.log(JSON.stringify({ timestamp: latest, created: false }));
else {
const db = new Database(path, { readonly: true, strict: true });
// SQLite needs writable WAL bookkeeping when the first snapshot opens a cold database.
// Only snapshot SQL runs here; never create a missing source file.
const db = new Database(path, { readwrite: true, create: false, strict: true });
try {
db.exec('PRAGMA busy_timeout=5000');
createBackup(db, config);