部分数据来源 Excel 没有真实蝦皮 SKU ID,但当前商品目录接口要求 sku_id 必填,数据库也把它当作 shopee_skus 主键,导致这些规格无法安全导入。不同来源重复导入时还需要明确“只新增、补空字段、同来源更新”的边界,不能用简单的“是否覆盖颜色尺码”布尔值批量洗掉人工修正或更可靠来源数据。
sku_id
shopee_skus
spec_key
insert_only
fill_missing
overwrite_same_source
is_manual=1
observed_at
shopee_sku_id
sku_mappings
goods_id + spec_key
update_policy
spec_raw
docs/admin/10-商品目录接入接口.md
固定 Go 1.23 全量 build/test/vet;httptest 覆盖三种策略、缺失 SKU ID、补真实 ID、人工保护、旧时间和冲突;MySQL 8.4 _test 验证迁移重放、唯一约束、历史映射引用和并发批次;用脱敏目录 JSON 做端到端导入。
_test
规格主键和历史引用调整属于高风险数据库迁移,发布前必须备份并在 _test 完整演练。旧代码无法理解无 SKU ID 记录,因此代码与迁移必须同版本发布;回退应用前应确认新数据兼容,不能直接删除新增列或伪造旧 SKU ID。
4259be0
2193430
docs/task/141-商品目录无SKU与更新策略.md
用户于 2026-08-12 明确验收通过。已确认本地归档 docs/task/141-商品目录无SKU与更新策略.md 存在,现关闭工单。
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
部分数据来源 Excel 没有真实蝦皮 SKU ID,但当前商品目录接口要求
sku_id必填,数据库也把它当作shopee_skus主键,导致这些规格无法安全导入。不同来源重复导入时还需要明确“只新增、补空字段、同来源更新”的边界,不能用简单的“是否覆盖颜色尺码”布尔值批量洗掉人工修正或更可靠来源数据。做什么 / 不做什么
spec_key;商品目录接口允许无 SKU ID;增加insert_only、fill_missing、overwrite_same_source三种更新策略,默认fill_missing;记录字段来源/人工边界和导入统计。is_manual=1或人工修正字段;不允许旧observed_at覆盖新数据;不修改 PDD 关联和 Client 四接口。怎么做
shopee_skus增加内部主键所需结构、可空真实shopee_sku_id、spec_key、来源/观测时间和人工修改保护字段;迁移既有记录时保留原 SKU ID,并生成稳定规格键。具体主键切换、外键和历史sku_mappings兼容必须先用真实 schema 自检,不能原地改写已发布迁移。goods_id + spec_key查找;有真实 SKU ID 时优先按真实 ID 定位,并校验商品和规格身份一致。相同商品/规格出现多个不同真实 SKU ID 时返回冲突,不能自动合并。update_policy为批次级显式枚举:insert_only:仅新增,已有记录不修改;fill_missing:默认,只补当前为空且非人工保护的颜色、尺码、建议等字段;overwrite_same_source:仅同来源、更新的observed_at才能覆盖该来源拥有的字段。spec_raw永久保留;不同原文导致身份变化时返回结构化冲突或保留别名/历史,不直接洗掉旧原文。docs/admin/10-商品目录接入接口.mdJSON 契约、迁移/回滚说明及脱敏示例。验收标准
goods_id + spec_key幂等新增和更新。fill_missing只补空字段,不覆盖非空值、人工字段、PDD 关联或spec_raw。insert_only不修改已有记录;overwrite_same_source只接受同来源且更新的观测时间。怎么验证
固定 Go 1.23 全量 build/test/vet;httptest 覆盖三种策略、缺失 SKU ID、补真实 ID、人工保护、旧时间和冲突;MySQL 8.4
_test验证迁移重放、唯一约束、历史映射引用和并发批次;用脱敏目录 JSON 做端到端导入。风险和回退
规格主键和历史引用调整属于高风险数据库迁移,发布前必须备份并在
_test完整演练。旧代码无法理解无 SKU ID 记录,因此代码与迁移必须同版本发布;回退应用前应确认新数据兼容,不能直接删除新增列或伪造旧 SKU ID。实施完成,等待验收
4259be02193430docs/task/141-商品目录无SKU与更新策略.md_test环境,受保护的真实迁移集成测试本次跳过;上线前须演练 v7→v8 并备份。用户于 2026-08-12 明确验收通过。已确认本地归档
docs/task/141-商品目录无SKU与更新策略.md存在,现关闭工单。