Release v0.1.6 2026-07-12
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
import { mkdirSync } from "node:fs";
|
||||
import { resolve } from "node:path";
|
||||
import { DatabaseSync } from "node:sqlite";
|
||||
|
||||
const dataDirectory = resolve(process.env.DATA_DIR ?? "data");
|
||||
const backupDirectory = resolve(process.env.BACKUP_DIR ?? "backups");
|
||||
const timestamp = new Date().toISOString().replaceAll(":", "-").replaceAll(".", "-");
|
||||
const backupPath = resolve(backupDirectory, `game-${timestamp}.db`);
|
||||
mkdirSync(backupDirectory, { recursive: true });
|
||||
|
||||
const database = new DatabaseSync(resolve(dataDirectory, "game.db"));
|
||||
try {
|
||||
database.exec(`VACUUM INTO '${backupPath.replaceAll("'", "''")}'`);
|
||||
console.log(`SQLite backup created: ${backupPath}`);
|
||||
} finally {
|
||||
database.close();
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import { mkdirSync } from "node:fs";
|
||||
import { readFile } from "node:fs/promises";
|
||||
import { resolve } from "node:path";
|
||||
import { DatabaseSync } from "node:sqlite";
|
||||
|
||||
const dataDirectory = resolve(process.env.DATA_DIR ?? "data");
|
||||
mkdirSync(dataDirectory, { recursive: true });
|
||||
|
||||
const database = new DatabaseSync(resolve(dataDirectory, "game.db"));
|
||||
const schema = await readFile(new URL("../db/schema.sql", import.meta.url), "utf8");
|
||||
database.exec(schema);
|
||||
database.close();
|
||||
|
||||
console.log(`Database ready: ${resolve(dataDirectory, "game.db")}`);
|
||||
Reference in New Issue
Block a user