Files
break 370fd3e67f
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 10m49s
update
2026-09-03 09:28:28 +08:00

25 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Why
奇成 `tbl_card_life` 的少量卡会同时存在多条 `status=1`、未来到期且缺少生效时间的正式套餐记录。迁移脚本无法安全判断当前套餐,因而阻断这些资产的套餐迁移;直接以到期时间做全局裁决会误判其他历史数据。
## What Changes
- 在奇成迁移配置中增加按 ICCID 和旧套餐生命周期记录 ID 指定 `active``pending``skipped` 状态的覆盖能力。
- 在检测多个当前生效正式套餐前应用覆盖;覆盖外继续维持现有严格阻断行为。
- 对覆盖的完整性和引用的生命周期记录进行校验,并在审核产物中保留实际裁决结果。
## Capabilities
### New Capabilities
- `qicheng-migration-package-lifecycle-overrides`: 为异常旧套餐生命周期提供可审计、逐卡的迁移状态覆盖。
### Modified Capabilities
- 无。
## Impact
- `scripts/migration/config/mapping.yaml`
- `scripts/migration/lib/mapping_loader.py`
- `scripts/migration/lib/sql_builder.py`
- 奇成迁移 step2 生成的 SQL 与审核 CSV不写入或修改奇成老库。