All checks were successful
Docker Deploy / build-and-push (push) Successful in 4m6s
40 lines
945 B
JavaScript
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();
|