Files
Denozordec cb8a79260e
quality / commitlint (push) Skipped
CD / update-wiki (push) Failing after 7s
quality / changes (push) Successful in 4s
quality / docker-check (push) Skipped
quality / web (push) Failing after 38s
quality / api (push) Successful in 49s
CD / quality (push) Failing after 1m36s
CD / publish (push) Skipped
Init Commit
2026-09-04 11:48:19 +07:00

39 lines
953 B
JavaScript

import Database from "better-sqlite3";
import { existsSync } from "node:fs";
const path = process.argv[2] ?? "../../data/app.db";
if (!existsSync(path)) {
console.log("missing:", path);
process.exit(1);
}
const db = new Database(path, { readonly: true });
const tables = db
.prepare("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name")
.all()
.map((t) => t.name);
console.log("path:", path);
console.log("tables:", tables.join(", "));
for (const t of [
"domains",
"groups",
"dns_records",
"services",
"_migrations",
]) {
if (!tables.includes(t)) continue;
console.log(t, db.prepare(`SELECT COUNT(*) as c FROM ${t}`).get().c);
}
if (tables.includes("domains")) {
console.log(
"sample:",
db.prepare("SELECT id, zone_name FROM domains LIMIT 5").all(),
);
}
if (tables.includes("_migrations")) {
console.log(
"migrations:",
db.prepare("SELECT name FROM _migrations ORDER BY name").all(),
);
}