So beheben Sie DELETE_FAILED bei Salesforce-Deployments
Das Löschen eines Datensatzes wird durch eine Lookup-Beziehung, einen Trigger oder einen laufenden Genehmigungsprozess blockiert, getrennt vom Metadaten-Fehler DEPENDENCY_EXISTS.
Tritt auf bei: Laufzeit-DML-Löschungen, bei Datenimporten, Batch-Jobs und Apex-TestsWas das bedeutet
DELETE_FAILED ist ein Fehler auf Datenebene, der auftritt, wenn eine DML-Löschung nicht abgeschlossen werden kann, meist weil ein anderer Datensatz noch einen Lookup- oder Master-Detail-Verweis darauf hält, ein Trigger die Löschung verhindert hat oder der Datensatz durch einen laufenden Genehmigungsprozess gesperrt ist. Er betrifft das Löschen von Datensätzen bei Datenimporten und Apex-Tests, nicht das Löschen von Metadatenkomponenten.
Master-Detail-Kinder werden automatisch gelöscht, wenn der übergeordnete Datensatz gelöscht wird, daher betrifft dieser Fehler fast immer eine Lookup-Beziehung, bei der Salesforce die Wahl zwischen Kaskadieren oder Blockieren der Feldkonfiguration überlässt, oder eine Custom-Logik, die die Löschung ausdrücklich verhindert.
Häufige Ursachen
Die Lösung
- Zuerst Kind-Datensätze löschen oder neu zuordnenEntfernen oder aktualisieren Sie den Lookup auf abhängigen Datensätzen, bevor Sie den übergeordneten Datensatz löschen, oder stellen Sie das Feld auf Leeren beim Löschen um, falls das das richtige Verhalten ist.
- Trigger- und Validierungsregel-Logik prüfenPrüfen Sie Apex-Trigger (trigger.isDelete) und Validierungsregeln, die beim Löschen ausgelöst werden, auf löschblockierende Logik.
- Ausstehende Genehmigungen abbrechen oder abschließenKlären Sie jeden laufenden Genehmigungsprozess für den Datensatz, bevor Sie die Löschung versuchen.
Wie Serpent das verhindert
Die Preflight-Prüfungen von Serpent markieren Datensätze und abhängige Metadaten, die die Datenänderungen einer Task betreffen würden, sodass eine blockierte Löschung schon vor einem Release sichtbar wird, statt mitten im Deployment zu scheitern. Siehe die Bibliothek der Salesforce-Deployment-Fehler.

Prävention
Verwandte Fehler
DELETE_FAILED, erklärt
Kostenlos starten. Keine Kreditkarte, keine Installation, keine Verpflichtung.
Einrichtung in unter 15 Minuten. Keine DevOps-Fachkraft nötig.
