24 lines
1.1 KiB
TypeScript
24 lines
1.1 KiB
TypeScript
import path from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
import Database from "better-sqlite3";
|
|
|
|
// ── Paths ─────────────────────────────────────────────────────────────────────
|
|
|
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
|
|
const DB_PATH = path.join(__dirname, "pipeline.db");
|
|
|
|
// ── Types ─────────────────────────────────────────────────────────────────────
|
|
|
|
export type Db = InstanceType<typeof Database>;
|
|
|
|
// ── Open ──────────────────────────────────────────────────────────────────────
|
|
|
|
export function openDb(): Db {
|
|
const db = new Database(DB_PATH);
|
|
|
|
db.pragma("journal_mode = WAL");
|
|
db.pragma("foreign_keys = ON");
|
|
|
|
return db;
|
|
}
|