xml - 如何将 Salesforce 报表从一个 .org 批量传输到另一个干净的 .org?
问题描述
我的任务是将旧 .org 的所有报告上传到全新的 .org
我发现可以通过 .xml-files 从旧的 .org 检索报告,并通过 workbench将其上传到新的 org 。像这样
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>FOLDERA/REPORTA</members>
<members>FOLDERB/REPORTB</members>
<name>Report</name>
</types>
<version>43.0</version>
我已经以这种方式进行了测试,并且确实可以正常工作
但
旧的 .org 包含数千个报告,一次浏览每个文件夹,每次都自定义 .xml 文件会很烦人。
调用 * 只是检索了一个名为“unpacked”的空文件夹,其中包含名为“packaged”的 .xml 文件,但不幸的是仅此而已。
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>Report</name>
</types>
<version>43.0</version>
有没有办法一次大量下载、传输和上传所有报告和文件,以便我在新的“干净”.org 中拥有完全相同的结构?
我将不胜感激任何反馈!
已经提前谢谢你了!
解决方案
完全自动化地做到这一点有点混乱。您需要了解文件夹名称,然后调用元数据 API listMetadata
,您可以在其中提供文件夹名称(报告、仪表板、电子邮件模板......),它会告诉您里面有什么。有办法让它自动化(旧的开发工具 Force.com IDE 能够做到,如果你有一个使用 VSCode 的开发人员,那么有一个不错的插件来构建 package.xml ......)如果你只需要一个工具,可能需要太多的投资一次性。
看看这个查询是否给你有希望的结果
SELECT FolderName, DeveloperName
FROM Report
ORDER BY FolderName, DeveloperName
将结果放入 Excel、一些公式、批量搜索替换,您应该能够<member>...</member>
为您的包创建行吗?
推荐阅读
- cassandra - Cassandra 不稳定导致查询超时
- c++ - 为通用 c 结构创建 boost - 变体类型
- elasticsearch - 如何在不使用 Kibana UI 的情况下将 Kibana 6 可视化导入 elasticsearch 6?
- python - 如何在 Python 3.6 中将 csv 文件转换为数据框
- php - php laravel 数据库数据插入错误
- python - 如何在单个 gpu 上运行多个 keras 程序?
- c# - 我需要从我的代码中的 Url 获取访问令牌
- python - 反转数字中的数字
- sql - 来自以下 sql 代码的动态 sql
- python - 每当我尝试安装新的 python 包时出现错误