Fix: Tjek for duplicate vtiger_id før update (undgår constraint violation)
This commit is contained in:
parent
0b6d286332
commit
ddcf64ae78
@ -110,6 +110,19 @@ async def sync_from_vtiger() -> Dict[str, Any]:
|
|||||||
if existing:
|
if existing:
|
||||||
# Link vTiger ID to existing customer
|
# Link vTiger ID to existing customer
|
||||||
current_vtiger_id = existing[0].get('vtiger_id')
|
current_vtiger_id = existing[0].get('vtiger_id')
|
||||||
|
|
||||||
|
# Check if this vtiger_id is already assigned to another customer
|
||||||
|
vtiger_owner = execute_query(
|
||||||
|
"SELECT id, name FROM customers WHERE vtiger_id = %s",
|
||||||
|
(vtiger_id,)
|
||||||
|
)
|
||||||
|
|
||||||
|
if vtiger_owner and vtiger_owner[0]['id'] != existing[0]['id']:
|
||||||
|
# vTiger ID already belongs to another customer - skip
|
||||||
|
logger.warning(f"⚠️ vTiger #{vtiger_id} allerede tilknyttet '{vtiger_owner[0]['name']}' - springer over '{existing[0]['name']}'")
|
||||||
|
not_found_count += 1
|
||||||
|
continue
|
||||||
|
|
||||||
if current_vtiger_id is None:
|
if current_vtiger_id is None:
|
||||||
execute_query(
|
execute_query(
|
||||||
"UPDATE customers SET vtiger_id = %s, last_synced_at = NOW() WHERE id = %s",
|
"UPDATE customers SET vtiger_id = %s, last_synced_at = NOW() WHERE id = %s",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user