diff --git a/app/Services/ImportProcessor.php b/app/Services/ImportProcessor.php index edc690a..de5ca07 100644 --- a/app/Services/ImportProcessor.php +++ b/app/Services/ImportProcessor.php @@ -3170,9 +3170,18 @@ private function upsertAddress(int $personId, array $addrData, $mappings): array $data['person_id'] = $personId; $data['country'] = $data['country'] ?? 'SLO'; $data['type_id'] = $data['type_id'] ?? $this->getDefaultAddressTypeId(); - $created = PersonAddress::create($data); + try { + $created = PersonAddress::create($data); - return ['action' => 'inserted', 'address' => $created]; + return ['action' => 'inserted', 'address' => $created]; + } catch (QueryException $e) { + // If unique constraint violation, skip instead of aborting + if ($e->getCode() === '23505' || str_contains($e->getMessage(), 'unique') || str_contains($e->getMessage(), 'duplicate')) { + return ['action' => 'skipped', 'message' => 'Address already exists (constraint violation)']; + } + + throw $e; + } } }