Scratch space for learning atproto app development
1import SqliteDb from "better-sqlite3"; 2import { Kysely, Migrator, SqliteDialect } from "kysely"; 3import { migrationProvider } from "./migrations"; 4import type { DatabaseSchema } from "./schema"; 5 6export const createDb = (location: string): Database => { 7 return new Kysely<DatabaseSchema>({ 8 dialect: new SqliteDialect({ 9 database: new SqliteDb(location), 10 }), 11 }); 12}; 13 14export const migrateToLatest = async (db: Database) => { 15 const migrator = new Migrator({ db, provider: migrationProvider }); 16 const { error } = await migrator.migrateToLatest(); 17 if (error) throw error; 18}; 19 20export type Database = Kysely<DatabaseSchema>;