import { drizzle } from "drizzle-orm/postgres-js"; import { migrate } from "drizzle-orm/postgres-js/migrator"; import postgres from "postgres"; const url = process.env.DATABASE_URL; if (!url) { console.error("DATABASE_URL is required"); process.exit(1); } const migrationsFolder = process.env.MIGRATIONS_FOLDER ?? "./drizzle"; const sql = postgres(url, { max: 1 }); const db = drizzle(sql); try { await migrate(db, { migrationsFolder }); console.log( JSON.stringify({ level: "info", msg: "migrations applied", folder: migrationsFolder }), ); } catch (err) { console.error(JSON.stringify({ level: "error", msg: "migrations failed", err: String(err) })); process.exit(1); } finally { await sql.end({ timeout: 5 }); }