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>;