// Migrations-Runner für das Laufzeit-Image (plain ESM, ohne tsx/drizzle-kit). // Wendet die Drizzle-Migrationen aus ./drizzle idempotent über das Journal an. // Liest DATABASE_URL direkt aus der Umgebung (keine Next.js-Env-Validierung), // analog zu scripts/migrate.ts. import { drizzle } from "drizzle-orm/node-postgres"; import { migrate } from "drizzle-orm/node-postgres/migrator"; import pg from "pg"; const { Pool } = pg; const connectionString = process.env.DATABASE_URL; if (!connectionString) { console.error("DATABASE_URL ist nicht gesetzt."); process.exit(1); } const pool = new Pool({ connectionString, max: 1 }); const db = drizzle(pool); try { await migrate(db, { migrationsFolder: "./drizzle" }); console.log("Migrationen erfolgreich angewandt."); } catch (err) { console.error("Migration fehlgeschlagen:", err); process.exitCode = 1; } finally { await pool.end(); }