Run db:migrate automatically before every Railway deploy
The 2026-07-06 prod outage was a missed manual migration: the 0002 job_events migration never ran against prod, so the worker crash-looped on every job. Make the deploy pipeline own it: - railway.json sets `npm run db:migrate` as the pre-deploy command. Railway runs it with the service's env before starting the new deployment; a failed migration fails the deploy and the old version keeps serving. - runMigrations() now serializes on a Postgres advisory lock so api and worker pre-deploys firing off the same push can't race Drizzle's journal writes. - DEPLOY.md: document the automatic path; keep the manual command for first-time setup. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
5285ddc2b2
commit
1ad0f28f48
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"$schema": "https://railway.com/railway.schema.json",
|
||||
"deploy": {
|
||||
"preDeployCommand": "npm run db:migrate"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user