## Why 线上活跃的 20 位 ICCID 可以共享前 19 位,现有 000178 迁移却将全部活跃卡的 `iccid_19` 设为唯一,导致从版本 140 升级时必然中止。 ## What Changes - 修正 ICCID 唯一性迁移:仅对原始 ICCID 长度为 19 的活跃卡要求 `iccid_19` 唯一。 - 保持原始 ICCID 长度为 20 的活跃卡以 `iccid_20` 为唯一标识,允许其共享 `iccid_19` 前缀。 - 同步调整迁移前置校验、索引谓词与索引注释。 ## Capabilities ### New Capabilities 无。 ### Modified Capabilities - `asset-device`: 明确 19 位与 20 位 ICCID 的有效唯一性边界。 ## Impact - `migrations/000178_make_iot_card_iccid_exact_unique.up.sql` - 测试环境中的定向索引修复验证;不改变卡数据或 HTTP API,也不对生产库执行迁移。