22 lines
652 B
TypeScript
22 lines
652 B
TypeScript
import { Database } from "bun:sqlite";
|
|
import { BunSQLiteDatabase, drizzle } from "drizzle-orm/bun-sqlite";
|
|
import * as schema from '../db/schema';
|
|
|
|
let instance: BunSQLiteDatabase<typeof schema> & {
|
|
$client: Database;
|
|
};
|
|
export default function useDatabase()
|
|
{
|
|
if(!instance)
|
|
{
|
|
const database = useRuntimeConfig().database;
|
|
const sqlite = new Database(database);
|
|
instance = drizzle({ client: sqlite, schema, /* logger: true */ });
|
|
|
|
instance.run("PRAGMA journal_mode = WAL;");
|
|
instance.run("PRAGMA foreign_keys = true;");
|
|
instance.run("PRAGMA optimize=0x10002;");
|
|
}
|
|
|
|
return instance;
|
|
} |