# 01 — 建立回调 ICCID 精确唯一性发布门禁 **What to build:** 发布人员可以在启用运营商回调前检查未删除卡的 19 位和 20 位 ICCID 是否存在冲突,并在数据安全时把现有普通部分索引升级为部分唯一索引。若发现重复,迁移必须安全中止并给出修复依据,避免回调把观测应用到任意一张卡。 **Blocked by:** 无——可立即开始。 **Status:** ready-for-agent **架构通道:** Infrastructure。 **完整业务边界:** 本票收口运营商回调所需的 ICCID 精确唯一性检查、迁移、回滚和发布门禁。明确不改变 ICCID 展示、导入、模糊查询或现有卡识别规则,不清理或自动合并生产重复数据。 - [ ] 向上迁移在建立唯一约束前分别检查未删除卡的 19 位和非空 20 位 ICCID 重复组,发现冲突时安全失败且不留下半完成结构。 - [ ] 未删除卡的 19 位和非空 20 位 ICCID 均由部分唯一索引保证精确唯一,软删除记录不阻塞合法新记录。 - [ ] 向下迁移只恢复本需求触碰的索引形态,不删除 ICCID 列、不修改卡数据,也不影响其他表索引。 - [ ] 迁移测试覆盖无冲突升级、19 位冲突、20 位冲突、软删除重复和 down/up 重放,并验证失败后可恢复。 - [ ] 发布说明明确生产检查、冲突修复责任、停止条件和回滚步骤,不把开发库无重复当作生产事实。