如何使用Eclipse删除Salesforce Enterprise Edition中的Apex类和触发器?
答案 0 :(得分:3)
为了使用eclipse从生产组织中删除触发器,您需要使用以下步骤(假设您有一个沙箱组织):
我相信上述步骤可行,但我只使用破坏性更改从生产组件中删除了组件。 Ant Migration Toolkit。
要使用Ant Migration Toolkit进行破坏性更改,您需要将destructivechange.xml文件设置为与此类似:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>MyTrigger</members>
<name>ApexTrigger</name>
</types>
<version>21.0</version>
</Package>
有关于如何在developerforce上propogate destructive changes的完整说明。
答案 1 :(得分:3)
我有一个近乎重复的问题并落在这里。我想从我的生产组织中删除只有Force.com IDE(Eclipse)的类。 Inediger描述了如何使用Ant Migration Toolkit部署破坏性更改集,并猜测如何在Force.com IDE中执行此操作。在我使用Force.com IDE 20.0版的尝试中,Inediger的第3步和第4步将阻止您删除生产组织中的类/触发器。
以下是在Force.com IDE中删除类的自然尝试:
此时文件将从您的项目和开发组织中删除,但它仍保留在您的生产组织中(并且管理员Web界面不允许您将其删除),因此您继续:
不幸的是,您的班级不会与部署候选人一起列出,因为Force.com IDE已经丢失了该文件的踪迹(因为您删除了它 - 如果您在这艘船中重新创建了您的开发组中的课程并按照我的说明)。
在我们在本地删除文件之前,我们需要在生产中删除(我认为我们通过构建其中一个破坏性变更集并为我们部署它来走Force.com IDE):
如果您在Salesforce管理网页中关注,您会注意到在第2步中保存后,该类会从您的开发组织中消失。当您在步骤7之后获得绿色复选标记时,它将从您的生产组织中消失。
最后,我像往常一样从Force.com IDE中删除该类。当它询问我是否要从服务器删除文件时,我说不,因为我们已经处理过了。我还添加/删除元数据组件并取消选中类名以删除警告消息。
答案 2 :(得分:3)
最简单的方法是从Eclipse中删除项目中的文件(不要从服务器中删除,因为这不起作用)然后右键单击FOLDER(即触发器/类)并选择Deploy To服务器
当显示想要部署的对话框出现时,相关的类/触发器将突出显示为红色行,这意味着您可以从生产组织中检查它是否删除。
答案 3 :(得分:2)
从Eclipse执行此操作的最简单方法是编辑要删除的类的-meta.xml文件。您需要做的就是将“状态”字段从“活动”更改为“已删除”。
保存-meta.xml文件时,将立即从生产组织中删除相应的类。课程&amp; .xml文件仍然在您的本地Eclipse文件夹中 - 但是您可以在本地删除它们。
答案 4 :(得分:0)
我尝试的方法之一是:
1)进入触发器[在Force.com IDE中]的元XML文件,并将状态值设置为&#34;删除&#34;。
2)然后在保存.xml文件后,我将触发器部署到生产环境。
我知道应删除该文件的事实。我已经用类文件完成了它,但不幸的是这是一个测试类文件,我忘了删除测试文件提供测试覆盖率的其他相关文件,因此由于这个错误我丢失了显着的整体累积测试覆盖率。幸运的是,我在删除之前保存了文件,并且能够将修改后的测试类重新部署回生产环境,并且一切都还可以。