import Database from 'better-sqlite3'; import { drizzle } from 'drizzle-orm/better-sqlite3'; import { migrate } from 'drizzle-orm/better-sqlite3/migrator'; import { mkdirSync } from 'node:fs'; import { dirname } from 'node:path'; import { env } from '$env/dynamic/private'; import * as schema from './schema'; const dbPath = env.DATABASE_PATH ?? './data/app.db'; mkdirSync(dirname(dbPath), { recursive: true }); const sqlite = new Database(dbPath); sqlite.pragma('journal_mode = WAL'); sqlite.pragma('foreign_keys = ON'); export const db = drizzle(sqlite, { schema }); // Apply any pending migrations on startup so a fresh deploy self-initialises. migrate(db, { migrationsFolder: './drizzle' });