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) <noreply@anthropic.com>
This commit is contained in:
Robin Choice
2026-04-12 20:17:04 +02:00
parent e7aa866332
commit b87b1045e5

View File

@@ -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<AppEnv>()
.use('*', logger())
.use(