import { mkdirSync } from "node:fs"; import path from "node:path"; import { backup, DatabaseSync } from "node:sqlite"; const dataDir = path.resolve(process.env.DATA_DIR ?? "data/runtime"); const backupDir = path.resolve(process.env.BACKUP_DIR ?? path.join(dataDir, "backups")); const sourcePath = path.join(dataDir, "game.db"); const stamp = new Date().toISOString().replace(/[:.]/g, "-"); const destinationPath = path.join(backupDir, `game-${stamp}.db`); mkdirSync(backupDir, { recursive: true }); const database = new DatabaseSync(sourcePath, { readOnly: true }); try { await backup(database, destinationPath); console.log(`Healer Man database backup created: ${destinationPath}`); } finally { database.close(); }