Prechádzať zdrojové kódy

fix: UPSERT 后查不到 id 时抛出异常而非返回 0

避免返回 0 被误当作有效 id 导致后续关联异常

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
lingfengQAQ 4 mesiacov pred
rodič
commit
a6c195929e

+ 8 - 1
.claude/scripts/data_modules/index_manager.py

@@ -1205,7 +1205,14 @@ class IndexManager:
                 (contract.chapter, contract.constraint_type, contract.constraint_id),
             )
             row = cursor.fetchone()
-            contract_id = row[0] if row else 0
+            if not row:
+                # UPSERT 后查不到记录是异常情况,不应发生
+                raise RuntimeError(
+                    f"Override Contract UPSERT 后无法获取 id: "
+                    f"chapter={contract.chapter}, type={contract.constraint_type}, "
+                    f"id={contract.constraint_id}"
+                )
+            contract_id = row[0]
 
             conn.commit()
             return contract_id