Zo los je DUPLICATE_EXTERNAL_ID op in Salesforce-deployments
Een upsert matcht meer dan één bestaand record op dezelfde external ID-waarde, waardoor Salesforce niet kan bepalen welke moet worden bijgewerkt.
Verschijnt tijdens: upsert-DML bij data loads, integraties en ApexWat het betekent
DUPLICATE_EXTERNAL_ID betekent dat een upsert-aanroep meer dan één record in de doel-org vond met dezelfde waarde in het external ID-veld waarop wordt gematcht. Upsert vertrouwt erop dat dat veld per record echt uniek is; als er duplicaten bestaan, heeft Salesforce geen manier om te bepalen welk record de binnenkomende data moet bijwerken, dus wijst het de operatie af in plaats van te gokken.
Dit is puur een probleem met de datastatus in de doel-org, niet iets dat mis is met de binnenkomende payload zelf; dezelfde upsert-aanroep zou slagen zodra de duplicaatwaarden in de doel-org zijn opgelost.
Veelvoorkomende oorzaken
De oplossing
- Dedupliceer eerst records die de external ID delenBevraag de doel-org op de probleemwaarde, bepaal welk record leidend is, en voeg de rest samen of verwijder deze voordat je het opnieuw probeert.
SELECT External_Id__c, COUNT(Id) FROM Account GROUP BY External_Id__c HAVING COUNT(Id) > 1 - Schakel het attribuut Unique in op het veldBewerk de definitie van het external ID-veld zodat Salesforce uniciteit vanaf nu afdwingt en nieuwe duplicaten blokkeert bij het invoegen.
- Gebruik een specifiekere samengestelde sleutelAls twee legitiem verschillende records dezelfde basiswaarde kunnen delen, combineer deze dan met een tweede veld zodat de match ondubbelzinnig is.
Hoe Serpent dit voorkomt
Serpent houdt elke sandbox en scratch org gesynchroniseerd vanuit dezelfde bron, waardoor duplicaat external ID-waarden uit verouderde, handmatig geladen data veel minder snel tussen omgevingen opstapelen. Bekijk de bibliotheek met Salesforce-deploymentfouten.

Preventie
Gerelateerde fouten
DUPLICATE_EXTERNAL_ID, uitgelegd
Start gratis. Geen creditcard, geen installatie, geen verplichting.
Binnen 15 minuten ingesteld. Geen DevOps-aanwerving nodig.
