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 dataDir = process.env.DATA_DIR; if (!dataDir) { throw new Error("DATA_DIR environment variable is not set"); } if (!fs.existsSync(dataDir)) { fs.mkdirSync(dataDir, { recursive: true }); } const url = `file:${path.join(dataDir, "chronus.db")}`; console.log(`Using database: ${url}`); const client = createClient({ url, }); 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();