Fix: Tjek for duplicate vtiger_id før update (undgår constraint violation)

This commit is contained in:
Christian 2025-12-22 14:15:17 +01:00
parent 0b6d286332
commit ddcf64ae78

View File

@ -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",