39 lines
801 B
TypeScript
39 lines
801 B
TypeScript
import { env } from "@/lib/env.mjs";
|
|
|
|
import { drizzle } from "drizzle-orm/node-postgres";
|
|
import { migrate } from "drizzle-orm/node-postgres/migrator";
|
|
import { Client } from "pg";
|
|
|
|
|
|
const runMigrate = async () => {
|
|
if (!env.DATABASE_URL) {
|
|
throw new Error("DATABASE_URL is not defined");
|
|
}
|
|
|
|
|
|
const client = new Client({
|
|
connectionString: env.DATABASE_URL,
|
|
});
|
|
|
|
await client.connect();
|
|
const db = drizzle(client);
|
|
|
|
|
|
console.log("⏳ Running migrations...");
|
|
|
|
const start = Date.now();
|
|
|
|
await migrate(db, { migrationsFolder: 'lib/db/migrations' });
|
|
|
|
const end = Date.now();
|
|
|
|
console.log("✅ Migrations completed in", end - start, "ms");
|
|
|
|
process.exit(0);
|
|
};
|
|
|
|
runMigrate().catch((err) => {
|
|
console.error("❌ Migration failed");
|
|
console.error(err);
|
|
process.exit(1);
|
|
}); |