我在永久删除自定义字段时遇到问题.
例如,我在Contact实体中创建了一个名为"Newsletter"的自定义字段,Salesforce internaly将其作为"Newsletter__c"存储为自定义字段.
然后我使用下面的代码删除自定义联系人字段.
var cstField = new CustomField
{
type = FieldType.Checkbox,
fullName = "Contact.Newsletter__c"
};
// Delete the object
var r = metaService.delete(new Metadata[] { cstField })[0];
Run Code Online (Sandbox Code Playgroud)
上面的代码删除了自定义字段,但将其保留在"DeletedFields"类别下,您可以再次"删除"或"取消删除"自定义字段.这些自定义字段会在15天后自动删除.
我想从这些类别中删除自定义字段,就像我再次创建具有相同名称的cf一样,SF给出了"已存在"之类的错误.
我在部署时也尝试了purgeOnDelete选项,但到目前为止还没有运气.
删除时清除。如果为 true,则 virtualChanges.xml 清单文件中删除的组件不会存储在回收站中。相反,它们会立即符合删除条件。该字段在 API 版本 22.0 及更高版本中可用。此选项仅适用于 Developer Edition 或沙盒组织;它在生产组织中不起作用。扩展 Salesforce 迁移工具以支持 PurgeOnDelete.. 由于某些原因,Salesforce 迁移工具仍未通过 sf:deploy Ant 任务公开这一出色的功能。然而,凭借一点 Java 技能,您可以通过扩展当前任务来创建新的部署 Ant 任务,以将属性公开给您的 Ant 构建脚本,例如...
预先构建的 ant-salesforce.jar,其中包含deploypurge。您可以从 FinancialForce.com 开发人员 Github 存储库下载修改后的 ant-salesforce.jar(请注意,这是 API v22.0,但您可以使用它来部署任何版本的代码)。
构建您自己的扩展 ant-salesforce.jar。如果你想重建一个新版本,那么你需要下载这个Java类,编译它,解压ant-salesforce.jar(将.jar重命名为.zip),将其放入并再次压缩回来,一切就完成了!
归档时间: |
|
查看次数: |
1274 次 |
最近记录: |