import { drizzle } from "drizzle-orm/libsql"; import { migrate } from "drizzle-orm/libsql/migrator"; import { createClient } from "@libsql/client"; import path from "path"; import fs from "fs"; async function runMigrate() { console.log("Running migrations..."); const rootDir = process.env.ROOT_DIR || process.cwd(); if (process.env.ROOT_DIR && !fs.existsSync(rootDir)) { fs.mkdirSync(rootDir, { recursive: true }); } const url = `file:${path.join(rootDir, "chronus.db")}`; console.log(`Using database: ${url}`); const authToken = process.env.DATABASE_AUTH_TOKEN; const client = createClient({ url, authToken, }); const db = drizzle(client); try { await migrate(db, { migrationsFolder: "./drizzle" }); console.log("Migrations completed successfully"); } catch (error) { console.error("Migration failed:", error); process.exit(1); } finally { client.close(); } } runMigrate();