Telegram (ask questions / claim the issue here first): https://t.me/+DOylgFv1jyJlNzM0
Why this matters
ci.yml backend job has no services: Postgres and never runs npm run migrate:up; it sets DATABASE_URL but no DB is provisioned. The first place migrate:up runs end-to-end is deploy-staging.yml line 182 (on the live server). With known duplicate timestamp prefixes (e.g. 1777000000007, 1778000000008, 1786000000016, 1788000000018 each appear twice) and the ensure-core-tables vs loan_events collision, a broken from-scratch apply ships to staging undetected.
Acceptance criteria
Files to touch
.github/workflows/ci.yml
backend/migrations
backend/package.json
Out of scope
- Fixing the individual migration ordering bugs (already filed)
- Seeding production data
Why this matters
ci.yml backend job has no services: Postgres and never runs npm run migrate:up; it sets DATABASE_URL but no DB is provisioned. The first place migrate:up runs end-to-end is deploy-staging.yml line 182 (on the live server). With known duplicate timestamp prefixes (e.g. 1777000000007, 1778000000008, 1786000000016, 1788000000018 each appear twice) and the ensure-core-tables vs loan_events collision, a broken from-scratch apply ships to staging undetected.
Acceptance criteria
Files to touch
.github/workflows/ci.ymlbackend/migrationsbackend/package.jsonOut of scope