yml2213
ad1e1bc884
perf(db): 收入口径回填改为分批脚本
迁移 104 里对 order_items 的全表 UPDATE 实测 34.4 秒(375,447 行),
远超默认语句超时 15s,单事务迁移会拖住启动甚至直接失败。
- 104 只保留 DDL 与索引/约束,删除全表 UPDATE;
- 新增 scripts/backfill-revenue-basis.ts:按 id 分批、幂等、支持
--dry-run / --batch-size / --max-batches(kebab 与 camel 两种写法);
- package.json 增加 revenue:backfill;
- migrate.ts 启动时做一次带索引计数,仍有 unknown 时打印告警并给出命令,
不阻塞启动;
- 文档补充回填步骤与「不执行的后果」。
验证:
- 实测 37.5 万行全表更新 34.4s → 脚本按批执行,单批 5000 行;
- 功能验证:单条订单项置 unknown → 脚本回填 → 金额与 basis 恢复正确;
- 启动告警验证:保留 1 条 unknown 重启 → 日志出现告警;回填后计数归零;
- 全新库从 102 迁移到 107 仍成功(2s)。
2026-10-25 12:02:26 +08:00
..
2026-10-22 15:07:29 +08:00
2026-10-25 11:38:12 +08:00
2026-10-25 12:02:26 +08:00
2026-10-25 11:38:12 +08:00
2026-08-16 17:27:12 +08:00
2026-07-10 12:36:36 +08:00
2026-08-16 17:27:12 +08:00
2026-10-09 15:07:03 +08:00
2026-10-10 20:12:33 +08:00
2026-10-11 14:53:56 +08:00
2026-08-16 18:04:55 +08:00
2026-08-23 12:54:38 +08:00
2026-08-16 17:27:12 +08:00
2026-08-16 17:27:12 +08:00
2026-05-25 21:46:39 +08:00
2026-10-23 16:06:25 +08:00
2026-10-22 16:41:03 +08:00
2026-08-16 18:04:55 +08:00
2026-08-16 17:27:12 +08:00
2026-08-16 17:27:12 +08:00