验证:完成生产前升级与财务重建演练

This commit is contained in:
yml2213
2026-11-08 19:44:27 +08:00
parent 2ebc4a0ec7
commit fcf8941972
@@ -769,6 +769,22 @@ npm run audit:finance -- --strict
- `product_channel_capabilities`、`manual_sku_registry`、`internal_sku_channels` 和历史
`legacy_*` 字段继续保留为审计留存,不在生产观察期前删除。
生产升级演练(本地临时库):
- 输入:`backups/postgres/order_site-20261106-192520.dump`,备份迁移 `145`;
恢复后执行 `146 → 168`。
- 数据规模:订单 `456777`、订单项 `456762`、商品 `1572`、正式履约 `456762`。
- 升级和迁移全部成功;恢复时唯一失败的是备份自身依赖顺序导致的函数索引,
在函数恢复后按原定义补建,随后迁移 `163` 正常删除该索引。
- 财务重建前存在旧事实/总账差异;执行一次 `finance:rebuild-derived --execute` 后,
销售范围 `21653` 项、收入 `170241674` 分、退款 `77370` 分、成本 `104881187` 分,
事实与总账完全对平,严格审计 `critical: []`。
- 第二次重建返回 `adjusted: 0`,证明总账调整幂等。
- 原始订单 `456777`、订单项 `456762`、订单收入 `3646267730` 分、退款 `7` 笔 /
`77370` 分、资金流水 `2` 条在两次重建前后完全守恒。
- 仍需运营处理:`8` 个只有人工兜底、没有主路由的配置,`162` 个待归一订单项,
以及 `476` 个已结构化标记的待履约异常。上述数据不做自动猜测。
只有前五个阶段持续稳定后才允许:
- 删除 `product_channel_capabilities`。
@@ -863,7 +879,7 @@ docs/archive/
本地阶段 0–6 已按硬切方案完成,生产仍停留在迁移 `146`。后续顺序固定为:
1. 生成生产升级清单并做全量备份,不在本地继续扩展新模型。
1. 生产执行前重新生成全量备份,并核对备份迁移号确为 `146`。
2. 在生产依次执行迁移 `147 → 168`,每阶段运行对应严格审计;
无法确定的数据进入未路由或待分类,不做猜测。
3. 执行一次 `finance:rebuild-derived` 的 dry-run,核对 A 级数据守恒后,