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:
@@ -11,10 +11,22 @@ import { shareRoutes } from './routes/share.js';
|
|||||||
import { uploadRoutes } from './routes/uploads.js';
|
import { uploadRoutes } from './routes/uploads.js';
|
||||||
import { activityRoutes } from './routes/activity.js';
|
import { activityRoutes } from './routes/activity.js';
|
||||||
import { onboardingRoutes } from './routes/onboarding.js';
|
import { onboardingRoutes } from './routes/onboarding.js';
|
||||||
|
import { migrate } from 'drizzle-orm/postgres-js/migrator';
|
||||||
import type { AppEnv } from './types.js';
|
import type { AppEnv } from './types.js';
|
||||||
|
|
||||||
const db = createDb(process.env.DATABASE_URL!);
|
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>()
|
const app = new Hono<AppEnv>()
|
||||||
.use('*', logger())
|
.use('*', logger())
|
||||||
.use(
|
.use(
|
||||||
|
|||||||
Reference in New Issue
Block a user