obsidian-visualiser/composables/useDatabase.ts

18 lines
500 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>;
export default function useDatabase()
{
if(!instance)
{
const database = useRuntimeConfig().database;
const sqlite = new Database(database);
instance = drizzle({ client: sqlite, schema });
instance.run("PRAGMA journal_mode = WAL;");
}
return instance;
}