DEPENDENCY_EXISTS in Salesforce-deployments oplossen
Salesforce verwijdert een veld, object of picklistwaarde niet omdat een ander component er nog naar verwijst.
Komt voor bij: metadata verwijderen, via destructiveChanges.xml of SetupWat het betekent
DEPENDENCY_EXISTS blokkeert het verwijderen van metadata, een custom field, object, record type of picklistwaarde, omdat iets anders in de org er nog naar verwijst: een formule, een validation rule, een flow, een report, of een page layout. Salesforce beschermt de data-integriteit door te weigeren een component te verwijderen terwijl er nog afhankelijkheden van bestaan.
Dit treedt alleen op wanneer de metadata al in de doel-org bestaat en er iets wordt verwijderd, of dat nu via Setup, een destructiveChanges.xml-deployment, of de Tooling API is; het verschijnt nooit bij een gewone additieve deploy van nieuwe metadata.
Veelvoorkomende oorzaken
De oplossing
- Vind elke afhankelijkheid met Salesforces dependency checkGebruik de tool "Where is this used?" in Setup op het veld of object om elke formule, flow, report en layout die ernaar verwijst op te sommen.
- Verwijder of werk elke afhankelijkheid eerst bijBewerk of verwijder de verwijzende formule, flow, validation rule of report zodat deze niet langer naar het component wijst.
- Verwijder het component in een aparte stapZodra er geen afhankelijkheden meer over zijn, verwijder je het veld of object op zichzelf, nadat de dependency-opschoning in de doel-org is doorgevoerd.
<!-- destructiveChangesPost.xml, deployed after the dependency cleanup lands --> <Package xmlns="http://soap.sforce.com/2006/04/metadata"> <types> <members>Account.Legacy_Score__c</members> <name>CustomField</name> </types> <version>62.0</version> </Package>
Hoe Serpent dit voorkomt
Serpent voert een preflight dependency check uit voordat een verwijdering een gedeelde org bereikt, zodat een veld dat nog wordt gerefereerd naar voren komt als een geblokkeerde taak in plaats van een mislukte productie-deploy. Zie de Salesforce-deploymentfoutenbibliotheek.

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