fix(db): 收敛合并后的迁移序号为 122-125

- 保留已应用的 dev 120/121
- 将 main 的 120-123 顺延为 122-125
- 开发库已应用,生产部署文档同步更新
This commit is contained in:
2026-11-03 10:42:09 +08:00
parent c2cc37b232
commit 980cf68915
5 changed files with 21 additions and 15 deletions
@@ -1,6 +1,6 @@
-- 120_fulfillment_routing_invariants.sql
-- 122_fulfillment_routing_invariants.sql
--
-- 生产迁移 119 之后的履约路由统一迁移。
-- 合并 main 后的履约路由统一迁移(接在 dev 120/121 之后)。
--
-- 目标:
-- 1. 订单项内部 SKU 只有一个 SQL 解析口径;
@@ -1,7 +1,7 @@
-- 121_internal_sku_single_primary.sql
-- 123_internal_sku_single_primary.sql
--
-- 一个内部 SKU 只能有一个主渠道;其他渠道必须显式标记 is_fallback。
-- 迁移 120 已把人工并列渠道收敛为兜底;这里在任何剩余歧义上显式阻止部署。
-- 迁移 122 已把人工并列渠道收敛为兜底;这里在任何剩余歧义上显式阻止部署。
DO $$
DECLARE
@@ -1,3 +1,4 @@
-- 124_work_order_template_product_projection.sql
-- 接单模板商品改为事件驱动投影:新模板保存时自动建/更新商品。
-- 本迁移补齐现有模板商品,并统一状态、名称、分类和价格属性。
@@ -1,3 +1,4 @@
-- 125_work_product_rule_pricing_mode.sql
-- 接单模板显式保存计价方式,金额字段只由商品与成本中心写投影。
-- 历史数据按旧运行口径回填:拼单自动按件优先识别,其次识别“单价>0 且固定金额=0”。
+15 -11
View File
@@ -1,7 +1,7 @@
# 生产部署核对清单(履约与财务分流统一)
日期:2026-11-02
适用:生产当前在迁移 115,本次新增 116–121 + backend/frontend。
适用:生产当前在迁移 115,本次新增 116–125 + backend/frontend。
## 1. 部署前
@@ -24,9 +24,12 @@
117_internal_sku_mappings
118_internal_sku_channels
119_fulfillment_pending_reason
120_fulfillment_routing_invariants
121_internal_sku_single_primary
122_work_order_template_product_projection
120_work_order_user_payment_amount_audit
121_work_order_payment_amount_history
122_fulfillment_routing_invariants
123_internal_sku_single_primary
124_work_order_template_product_projection
125_work_product_rule_pricing_mode
```
重点检查:
@@ -35,14 +38,15 @@
- 118:按商品能力/规则回填 `internal_sku_channels`;
- SQL 已做聚合,避免同名商品同渠道 `ON CONFLICT` 二次更新报错;
- 119:只加列和索引,风险低。
- 120:建立统一内部 SKU SQL 函数、回填人工配置、迁移可确定的旧 sku_code 规则。
- 121:建立唯一主渠道索引;若仍有并列主渠道会主动阻断迁移。
- 122:按接单模板补齐/刷新 `tpl:` 商品,只做 UPSERT,不删除商品、成本、订单或工单。
- SQL 护栏默认只保护到生产已发布的迁移 119;部署 120 后应把 `PUBLISHED_MIGRATION_MAX_VERSION` 提升为 120。
- 122:建立统一内部 SKU SQL 函数、回填人工配置、迁移可确定的旧 sku_code 规则。
- 123:建立唯一主渠道索引;若仍有并列主渠道会主动阻断迁移。
- 124:按接单模板补齐/刷新 `tpl:` 商品,只做 UPSERT,不删除商品、成本、订单或工单。
- 125:接单模板增加计价方式并回填历史模板,金额字段继续只由商品与成本中心投影。
- SQL 护栏默认只保护到生产已发布的迁移 119;部署 122 后应把 `PUBLISHED_MIGRATION_MAX_VERSION` 提升为 122。
## 3. 部署顺序
1. 执行迁移 116–122;
1. 执行迁移 116–125;
2. 部署 backend;
3. 部署 frontend;
4. 启动/恢复定时任务。
@@ -163,6 +167,6 @@ npx tsx scripts/reclassify-post-cutover.ts --apply
- 代码:回退到部署前镜像/commit;
- 数据库:
- 116–122 均为新增表/列/函数/投影数据,不删旧表,可保留;
- 116–125 均为新增表/列/函数/投影数据,不删旧表,可保留;
- 若必须回滚,恢复到部署前备份;
- 迁移 118–121 不改旧字段语义,回滚代码后旧逻辑仍可运行;121 的唯一主渠道索引会阻止旧代码写入并列主渠道。
- 迁移 118–123 不改旧字段语义,回滚代码后旧逻辑仍可运行;123 的唯一主渠道索引会阻止旧代码写入并列主渠道。