From b87b1045e51feb71d561f95f719c84d2512484ef Mon Sep 17 00:00:00 2001 From: Robin Choice Date: Sun, 12 Apr 2026 20:17:04 +0200 Subject: [PATCH] Auto-migrate on API startup in production Runs drizzle-kit migrations automatically when NODE_ENV=production, so deployments don't require manual migration commands. Co-Authored-By: Claude Opus 4.6 (1M context) --- apps/api/src/index.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/apps/api/src/index.ts b/apps/api/src/index.ts index 7ec501e..d06a74a 100644 --- a/apps/api/src/index.ts +++ b/apps/api/src/index.ts @@ -11,10 +11,22 @@ import { shareRoutes } from './routes/share.js'; import { uploadRoutes } from './routes/uploads.js'; import { activityRoutes } from './routes/activity.js'; import { onboardingRoutes } from './routes/onboarding.js'; +import { migrate } from 'drizzle-orm/postgres-js/migrator'; import type { AppEnv } from './types.js'; const db = createDb(process.env.DATABASE_URL!); +// Auto-migrate on startup in production +if (process.env.NODE_ENV === 'production') { + console.log('[Boot] Running migrations...'); + try { + await migrate(db, { migrationsFolder: './packages/db/src/migrations' }); + console.log('[Boot] Migrations applied.'); + } catch (err) { + console.error('[Boot] Migration failed:', err); + } +} + const app = new Hono() .use('*', logger()) .use(