From 79363bc0dad1b23a8be2295b721d6ef436590bfb Mon Sep 17 00:00:00 2001 From: yumoqing Date: Mon, 17 Aug 2026 11:36:30 +0800 Subject: [PATCH] =?UTF-8?q?fix(import=5Finit):=20appcodes=5Fkv=20=E5=B9=82?= =?UTF-8?q?=E7=AD=89=E6=A3=80=E6=9F=A5=E6=94=B9=20(parentid,k)=20=E7=BB=84?= =?UTF-8?q?=E5=90=88=EF=BC=88=E5=8E=86=E5=8F=B2=E6=95=B0=E6=8D=AE=E7=94=A8?= =?UTF-8?q?=20UUID=20id=EF=BC=8C=E7=94=A8=20id=20=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=E4=BC=9A=E6=BC=8F=E5=88=A4=E8=87=B4=E5=94=AF=E4=B8=80=E7=B4=A2?= =?UTF-8?q?=E5=BC=95=E5=86=B2=E7=AA=81=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/import_init.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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'],