Hoe je INVALID_FIELD in Salesforce-deployments oplost
Een SOQL-query, formule of automatisering verwijst naar een veld-API-naam die niet op dat object bestaat in de doelorg.
Treedt op bij: Apex-compilatie of SOQL-uitvoering, meestal tijdens testrunsWat het betekent
INVALID_FIELD betekent dat Salesforce de veldnaam die is gebruikt in een SOQL-query, formule of automatisering niet kon vinden op het object waartegen deze werd opgevraagd, in de org waar de deployment of test draait. In tegenstelling tot MISSING_FIELD, dat specifiek is voor lijstweergaven en rapporten, verschijnt INVALID_FIELD meestal binnen Apex-tests, SOQL-queries of formulevelden tijdens compilatie of uitvoering.
Omdat Apex compileert tegen het live schema van de org op deploytijd, laat een query die verwijst naar een veld dat nog niet is geland de compilatie van de hele klasse falen, niet alleen die ene testmethode, wat verklaart waarom deze fout vaak veel meer tests blokkeert dan alleen degene die het veld daadwerkelijk nodig heeft.
Veelvoorkomende oorzaken
De oplossing
- Deploy het veld vóór de code die het bevraagtPlan de deployment van het veld vóór elke Apex of Flow die ernaar verwijst in een SOQL-query.
- Werk elke verwijzing bij na een hernoemingDoorzoek Apex, Flow en formulevelden op de oude API-naam en vervang deze door de huidige.
grep -rln "Legacy_Score__c" force-app/main/default/ - Bevestig dat het veld op het bevraagde object staatControleer het object van het veld in Setup tegen het object in de SOQL FROM-clausule of formulecontext.
Hoe Serpent dit voorkomt
Serpent AI bepaalt de scope van een taak op basis van alles wat deze raakt, inclusief de velden die een Apex-test of Flow opvraagt, zodat een veld waarvan een test afhankelijk is in dezelfde taak wordt uitgeleverd in plaats van in een latere. Zie de bibliotheek met Salesforce-deploymentfouten.

Preventie
Gerelateerde fouten
INVALID_FIELD, beantwoord
Start gratis. Geen creditcard, geen installatie, geen verplichting.
Binnen 15 minuten ingericht. Geen DevOps-medewerker nodig.
