18 lines
532 B
JavaScript
18 lines
532 B
JavaScript
import fs from 'node:fs'
|
|
import path from 'node:path'
|
|
import Database from 'better-sqlite3'
|
|
import { drizzle } from 'drizzle-orm/better-sqlite3'
|
|
import { env } from '../config.js'
|
|
import * as schema from './schema.js'
|
|
|
|
function ensureDatabaseDirectory(dbFile) {
|
|
const absoluteDbPath = path.resolve(dbFile)
|
|
fs.mkdirSync(path.dirname(absoluteDbPath), { recursive: true })
|
|
return absoluteDbPath
|
|
}
|
|
|
|
const sqlite = new Database(ensureDatabaseDirectory(env.DB_FILE))
|
|
|
|
export const db = drizzle(sqlite, { schema })
|
|
export { sqlite }
|