Files
chronus/scripts/migrate.js
Atridad Lahiji 0cd77677f2
All checks were successful
Docker Deploy / build-and-push (push) Successful in 4m6s
FINISHED
2026-01-17 15:56:25 -07:00

40 lines
945 B
JavaScript

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