tenantpilot/lib/db/migrate.ts
2025-11-18 23:24:41 +01:00

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