A discord bot for teal.fm
discord
tealfm
music
1import { env } from "@tealfmbot/common/constants";
2import { Kysely, Migrator, PostgresDialect, FileMigrationProvider } from "kysely";
3import { run } from "kysely-migration-cli";
4import fs from "node:fs/promises";
5import path from "node:path";
6import { Pool } from "pg";
7
8import type { DB } from "./database.js";
9
10async function migrateToLatest() {
11 const migrationFolder = new URL("../migrations", import.meta.url).pathname;
12
13 const db = new Kysely<DB>({
14 dialect: new PostgresDialect({
15 pool: new Pool({
16 connectionString: env.DATABASE_URL,
17 }),
18 }),
19 });
20
21 const migrator = new Migrator({
22 db,
23 provider: new FileMigrationProvider({
24 fs,
25 path,
26 migrationFolder,
27 }),
28 });
29
30 // @ts-ignore fix later
31 run(db, migrator, migrationFolder);
32 await db.destroy();
33}
34
35migrateToLatest().catch((err) => console.error(err));