chore: bootstrap development environment
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
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`);
|
||||
}
|
||||
Reference in New Issue
Block a user