···1-import type pino from "pino";
2-import type { Database } from "#/db";
3-import type { Ingester } from "#/firehose/ingester";
45export type AppContext = {
6- db: Database;
7- ingester: Ingester;
8- logger: pino.Logger;
9-};
···1+import type pino from 'pino'
2+import type { Database } from '#/db'
3+import type { Ingester } from '#/firehose/ingester'
45export type AppContext = {
6+ db: Database
7+ ingester: Ingester
8+ logger: pino.Logger
9+}
+11-11
src/db/index.ts
···1-import SqliteDb from "better-sqlite3";
2-import { Kysely, Migrator, SqliteDialect } from "kysely";
3-import { migrationProvider } from "./migrations";
4-import type { DatabaseSchema } from "./schema";
56export const createDb = (location: string): Database => {
7 return new Kysely<DatabaseSchema>({
8 dialect: new SqliteDialect({
9 database: new SqliteDb(location),
10 }),
11- });
12-};
1314export 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-};
1920-export type Database = Kysely<DatabaseSchema>;
···1+import SqliteDb from 'better-sqlite3'
2+import { Kysely, Migrator, SqliteDialect } from 'kysely'
3+import { migrationProvider } from './migrations'
4+import type { DatabaseSchema } from './schema'
56export const createDb = (location: string): Database => {
7 return new Kysely<DatabaseSchema>({
8 dialect: new SqliteDialect({
9 database: new SqliteDb(location),
10 }),
11+ })
12+}
1314export 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+}
1920+export type Database = Kysely<DatabaseSchema>