كيفية إصلاح DEPENDENCY_EXISTS في عمليات نشر Salesforce
لا يحذف Salesforce حقلاً أو كائنًا أو قيمة picklist لأن مكونًا آخر لا يزال يشير إليها.
تظهر أثناء: حذف metadata، عبر destructiveChanges.xml أو Setupالمعنى
يمنع DEPENDENCY_EXISTS حذف metadata، حقل مخصص، كائن، نوع سجل، أو قيمة picklist، لأن شيئًا آخر في المؤسسة لا يزال يشير إليها: formula، أو validation rule، أو flow، أو report، أو page layout. يحمي Salesforce تكامل البيانات برفض إزالة مكون بينما لا يزال معتمَدًا عليه.
يظهر هذا فقط عندما تكون metadata موجودة بالفعل في المؤسسة المستهدفة وشيء ما يحذفها، سواء عبر Setup، أو عملية نشر destructiveChanges.xml، أو Tooling API؛ ولا يظهر أبدًا في عملية نشر إضافية عادية لـ metadata جديدة.
الأسباب الشائعة
الحل
- ابحث عن كل تبعية باستخدام فحص التبعيات في Salesforceاستخدم أداة "Where is this used?" في Setup على الحقل أو الكائن لسرد كل formula وflow وreport وlayout يشير إليه.
- أزل أو حدّث كل تبعية أولاًعدّل أو احذف الـ formula أو flow أو validation rule أو report المرجعية بحيث لم تعد تشير إلى المكون.
- احذف المكون في خطوة منفصلةبمجرد عدم بقاء أي تبعيات، احذف الحقل أو الكائن بمفرده، بعد وصول تنظيف التبعيات إلى المؤسسة المستهدفة.
<!-- 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>
إزاي Serpent بتمنع ده
يجري Serpent فحص تبعيات preflight قبل أن يصل الحذف إلى مؤسسة مشتركة، بحيث يظهر الحقل الذي لا يزال مُشار إليه كمهمة محظورة بدلاً من عملية نشر إنتاج فاشلة. راجع مكتبة أخطاء نشر Salesforce.

الوقاية
أخطاء ذات صلة
DEPENDENCY_EXISTS، بالإجابات
ابدأ مجانًا. بدون بطاقة ائتمان، وبدون تثبيت، وبدون التزام.
يتم الإعداد في أقل من 15 دقيقة. دون الحاجة لتوظيف متخصص DevOps.
