Files
Epicure/scripts/migrate.mjs
T
Arnaud 5ac50e9bf0 feat(docker): production-ready Dockerfile + Portainer compose stack
- Rewrite Dockerfile: multi-stage pnpm monorepo build with Next.js
  standalone output, non-root user, minimal runner image
- Enable next.config.ts `output: standalone` + serverExternalPackages
- Rewrite docker/compose.prod.yml: full production stack with migrate
  service, minio-init, named networks, build context for Portainer
- Add scripts/migrate.mjs: standalone Drizzle migration runner
- Update .dockerignore for cleaner build context

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 12:50:45 +02:00

19 lines
545 B
JavaScript

import { drizzle } from "drizzle-orm/node-postgres";
import { migrate } from "drizzle-orm/node-postgres/migrator";
import pg from "pg";
const { Pool } = pg;
const pool = new Pool({ connectionString: process.env.DATABASE_URL });
const db = drizzle(pool);
try {
await migrate(db, { migrationsFolder: "/app/packages/db/src/migrations" });
console.log("Migrations applied successfully");
await pool.end();
process.exit(0);
} catch (err) {
console.error("Migration failed:", err);
await pool.end().catch(() => {});
process.exit(1);
}