diff --git a/scripts/import_init.py b/scripts/import_init.py index 36c58d2..8e7a735 100644 --- a/scripts/import_init.py +++ b/scripts/import_init.py @@ -84,7 +84,11 @@ async def main(): }) total['appcodes'] += 1 for kv in appcodes_kv: - recs = await sor.R('appcodes_kv', {'id': kv['id']}) + # 幂等检查用 (parentid, k) 组合(appcodes_kv 有 parentid+k 唯一索引, + # 且历史数据 id 是 UUID 非 parentid_k 组合键,用 id 检查会漏判 → 唯一索引冲突) + recs = await sor.sqlExe( + "SELECT id FROM appcodes_kv WHERE parentid=${p}$ AND k=${k}$", + {"p": kv.get('parentid', ''), "k": kv.get('k', '')}) if not recs: await sor.C('appcodes_kv', { 'id': kv['id'],