Zo los je DELETE_FAILED op bij Salesforce-deployments
Het verwijderen van een record wordt geblokkeerd door een lookuprelatie, een trigger of een lopende goedkeuring, los van de metadata-fout DEPENDENCY_EXISTS.
Treedt op tijdens: runtime DML-verwijderingen, bij data-imports, batchjobs en Apex-testsWat het betekent
DELETE_FAILED is een fout op dataniveau die optreedt wanneer een DML-verwijdering niet kan worden voltooid, meestal omdat een ander record nog een lookup- of master-detailverwijzing ernaartoe heeft, een trigger de verwijdering heeft geblokkeerd, of het record vergrendeld is door een lopende goedkeuring. Het geldt voor het verwijderen van records tijdens data-imports en Apex-tests, niet voor het verwijderen van metadatacomponenten.
Master-detail-kindrecords worden automatisch verwijderd wanneer het bovenliggende record wordt verwijderd, dus deze fout gaat vrijwel altijd over een lookuprelatie, waarbij Salesforce de keuze tussen cascaderen of blokkeren aan de configuratie van het veld overlaat, of over custom logica die de verwijdering expliciet stopt.
Veelvoorkomende oorzaken
De oplossing
- Verwijder of herplaats eerst kindrecordsVerwijder of update de lookup op afhankelijke records voordat je het bovenliggende record verwijdert, of stel het veld in op wissen bij verwijdering als dat het juiste gedrag is.
- Controleer de logica van triggers en validatieregelsZoek naar logica die verwijderen blokkeert in Apex-triggers (trigger.isDelete) en validatieregels die bij verwijdering afgaan.
- Annuleer of voltooi lopende goedkeuringenLos elk actief goedkeuringsproces op het record op voordat je de verwijdering probeert.
Hoe Serpent dit voorkomt
De preflightcontroles van Serpent signaleren records en afhankelijke metadata die de datawijzigingen van een taak zouden raken, zodat een geblokkeerde verwijdering aan het licht komt vóór een release in plaats van halverwege een deploy te mislukken. Zie de bibliotheek met Salesforce-deploymentfouten.

Preventie
Gerelateerde fouten
DELETE_FAILED, uitgelegd
Start gratis. Geen creditcard, geen installatie, geen verplichting.
Ingericht in minder dan 15 minuten. Geen DevOps-engineer nodig.
