Salesforce ant迁移工具 - 取消部署

时间:2014-06-02 23:16:00

标签: salesforce

我对salesforce类型的开发完全陌生,所以请耐心等待。 正如标题所说,我试图弄清楚如何取消部署/清理目标环境。 使用ant脚本,我能够从开发环境中提取所有内容并将其成功部署到测试环境中。但是,我还希望能够在执行任何其他部署之前清理此测试环境。根据文档,我创建了一个空的 package.xml 和一个 desctructiveChanges.xml 文件。但是,与检索和部署过程不同,我无法使用通配符来实现此功能。如果我在xml文件中明确引用它但使用*只是失败,我能够取消部署对象,页面,顶点代码。是否可以这样做或者我应该探索替代方案?请记住,部署是解包后的代码。

用于部署的package.xml示例(成功)

<type>
<members>*</members>
<names>CustomObject</names>
</type>

来自desctructiveChanges.xml的样本(失败)

<type>
<members>*</members>
<names>CustomObject</names>
</type>

1 个答案:

答案 0 :(得分:1)

destructiveChanges.xml 需要严格的组件列表,这些组件应从目标环境中删除。因此,您需要按以下方式描述应删除的所有组件:

<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types>
        <members>ApexClass1</members>
        <members>ApexClass2</members>
        <members>ApexClass3</members>
        <name>ApexClass</name>
    </types>
    <types>
        <members>Custom_Object1__c</members>
        <members>Custom_Object2__c</members>
        <name>ApexPage</name>
    </types>
    <types>
        <members>VisualForcePage1</members>
        <members>VisualForcePage2</members>
        <name>CustomObject</name>
    </types>
    <types>
        <members>Custom_Object3__c.Field1__c</members>
        <members>Custom_Object3__c.Field2__c</members>
        <members>Custom_Object4__c.Field1__c</members>
        <name>CustomField</name>
    </types>
    <types>
        <members>CustomLabelName1</members>
        <name>CustomLabel</name>
    </types>
     <types>
        <members>Custom_Object3__c.Validation_Rule_1_Name</members>
        <name>ValidationRule</name>
    </types>
    <version>29.0</version>
</Package>