fix(import_init): 嵌套码表kv id改用getID(),修拼接id超32字符1406崩溃(bid_qual_match_status_human_required=36);幂等仍靠(parentid,k)组合检查

This commit is contained in:
yumoqing 2026-09-14 12:43:42 +08:00
parent f0b6e69457
commit 7db4f63df9

View File

@ -58,8 +58,11 @@ def normalize(data):
pid = ac['parentid']
appcodes.append({'id': pid, 'name': ac.get('parentname', pid), 'hierarchy_flg': '0'})
for item in ac.get('items', []):
# id 用 getID()21字符而非 f"{pid}_{k}" 拼接:拼接 id 会超
# appcodes_kv.id varchar(32)(实测 bid_qual_match_status_human_required=36 → 1406
# 幂等由 (parentid,k) 组合检查保证,不依赖 id故随机 id 安全且与历史 UUID 行一致。
appcodes_kv.append({
'id': f"{pid}_{item['k']}",
'id': getID(),
'parentid': pid,
'k': item['k'],
'v': item['v'],