import { env } from '$env/dynamic/private'; import { mkdirSync } from 'node:fs'; import { dirname } from 'node:path'; import Database from 'better-sqlite3'; import { drizzle } from 'drizzle-orm/better-sqlite3'; import { migrate } from 'drizzle-orm/better-sqlite3/migrator'; import { sql } from 'drizzle-orm'; const databaseUrl = env.DATABASE_URL ?? './data/holodream.db'; if (databaseUrl !== ':memory:') { mkdirSync(dirname(databaseUrl), { recursive: true }); } const sqlite = new Database(databaseUrl); sqlite.pragma('journal_mode = WAL'); sqlite.pragma('foreign_keys = ON'); export const db = drizzle(sqlite); migrate(db, { migrationsFolder: './drizzle' }); export function checkDatabase(): void { db.run(sql`select 1`); }