Comment corriger DELETE_FAILED dans les déploiements Salesforce
La suppression d'un enregistrement est bloquée par une relation de lookup, un trigger ou une approbation en attente, distinct du DEPENDENCY_EXISTS au niveau des métadonnées.
Se produit pendant : les suppressions DML à l'exécution, lors des chargements de données, des jobs batch et des tests ApexCe que cela signifie
DELETE_FAILED est une erreur au niveau des données renvoyée lorsqu'une opération de suppression DML ne peut pas aboutir, généralement parce qu'un autre enregistrement détient encore une référence lookup ou master-detail vers lui, qu'un trigger a bloqué la suppression, ou que l'enregistrement est verrouillé par une approbation en attente. Elle s'applique aux suppressions d'enregistrements lors des chargements de données et des tests Apex, pas à la suppression de composants de métadonnées.
Les enfants master-detail sont supprimés automatiquement quand le parent est supprimé, donc cette erreur concerne presque toujours une relation de lookup, où Salesforce laisse le choix entre cascade ou blocage à la configuration du champ, ou une logique personnalisée qui empêche explicitement la suppression.
Causes courantes
La solution
- Supprimez ou reliez d'abord les enregistrements enfantsSupprimez ou mettez à jour le lookup sur les enregistrements dépendants avant de supprimer le parent, ou configurez le champ pour qu'il s'efface à la suppression si c'est le comportement souhaité.
- Vérifiez la logique des triggers et des règles de validationRecherchez une logique bloquant la suppression dans les triggers Apex (trigger.isDelete) et les règles de validation qui se déclenchent à la suppression.
- Annulez ou finalisez les approbations en attenteRésolvez tout processus d'approbation en cours sur l'enregistrement avant de tenter la suppression.
Comment Serpent évite cela
Les contrôles préalables de Serpent signalent les enregistrements et les métadonnées dépendantes que les changements de données d'une tâche affecteraient, de sorte qu'une suppression bloquée apparaît avant une release au lieu d'échouer en cours de déploiement. Consultez la bibliothèque des erreurs de déploiement Salesforce.

Prévention
Erreurs associées
DELETE_FAILED, expliqué
Démarrez gratuitement. Pas de carte bancaire, pas d'installation, pas d'engagement.
Configuration en moins de 15 minutes. Aucun recrutement DevOps nécessaire.
