Files
order_site/apps
yml2213 687bb40db1 fix(migrations): 已应用的迁移文件不能删除(否则服务起不来)
上一轮纠偏时我把迁移 096(`claim_submission_json`)从文件系统删掉了,只留新的 097 去 DROP 列。
结果 `node-pg-migrate` 的排序校验直接拒绝启动:

  Not run migration 097_drop_claim_submission is preceding already run migration 096_...

因为数据库里已记录 096 已执行、而文件系统里没有它。后端因此进入重试循环、`/health/ready` 一直 503
(生产同样会中招,属于启动阻塞)。

正确做法:**保留 096 文件**(结构演进留在历史里),用 097 承担「删列」这一步;
两边的 `schema_migrations` 记录都完整,已应用 096 的环境与全新库都能正常迁移。

同时**还原 `check-sql-guard.ts` 为严格版**:既然不需要删迁移了,就不该放宽守卫
(原规则「历史迁移只能新增、不可修改/删除」继续生效,实测通过)。

实测:恢复后启动日志正常执行 `097_drop_claim_submission (UP)`、`/health/ready` 200、
`fulfillment_tasks.claim_submission_json` 已删除;`npm run check` 671/668/0 全绿。
2026-10-09 19:10:31 +08:00
..