import SqliteDb from "better-sqlite3"; import { Kysely, Migrator, SqliteDialect } from "kysely"; import { migrationProvider } from "./migrations"; import type { DatabaseSchema } from "./schema"; export const createDb = (location: string): Database => { return new Kysely({ dialect: new SqliteDialect({ database: new SqliteDb(location), }), }); }; export const migrateToLatest = async (db: Database) => { const migrator = new Migrator({ db, provider: migrationProvider }); const { error } = await migrator.migrateToLatest(); if (error) throw error; }; export type Database = Kysely;