How complicated can it be to clone data from one Salesforce Org to another? It can take from minutes to weeks depending on the number of objects and relationships between them.
I am glad to share a tool I developed which may save you a lot of time. DumpIT comes as an executable jar file which helps to clone data from one Salesforce Org to another. Recently Salesforce released a feature to clone a Sandbox but it has its own limitations and cannot always be used.
2. Type this command to run it: *java -jar DumpIT.jar*
Credentials of the Source and Target Orgs.
In case you want to push selective records, you can add SOQL conditions for a specific object. You can do that using the given format --Object API Name.where--. Make sure to escape the ='s in the condition. Example for Account is given below:
Account.where = Rating\\= 'Hot' AND Industry \\= 'Information Technology'
Path of the folder where you want to place the Success and Error files, you can set the path to the result folder downloaded with the tool above.
process.statusOutputDirectory = /Users/gulshanmiddha/Desktop/dumpit/results/
Make sure the API names mentioned above are all case sensitive. You can copy them from Salesforce UI OR using workbench.
Disclaimer - This tool modifies data in your target Org. Please test it on Sandboxes or Developer Orgs before using it on Production.
I am glad to share a tool I developed which may save you a lot of time. DumpIT comes as an executable jar file which helps to clone data from one Salesforce Org to another. Recently Salesforce released a feature to clone a Sandbox but it has its own limitations and cannot always be used.
How to use DumpIT?
Prerequisite - You must have Java installed and setup on your local machine. Try running "Java -v" command on your command prompt to make sure its all setup and working.Step 1: Download the tool
- Download the tool from this link https://crossdoor.io/dumpit/
- Create a folder on your local machine and place all the three downloaded items in that folder. You will see these three items:
- results folder: Success and Error files are placed on this folder on execution, for each object. You can use this folder OR any other folder on your local machine by specifying the folder path in build.properties.
- build.properties: This is where you configure the tool.
- DumpIT.jar: This is the executable jar file (THE tool itself).
Step 2: Configure build.properties
Open build.properties file and setup the source and target Orgs and which all objects needs to be cloned. build.properties is explained below in more details.Step 3: Create a field on target Objects
Create a new custom field on all the objects for which we want to move the data. Make sure the API name is exactly as mentioned below with the same case.- Field Label: Dump Id
- API Name: Dump_Id__c
- Type: Text (18)
- Unique: true
- External Id: true
Step 4: Run It
1. Open the command prompt and go to the folder path where you have downloaded the tool.2. Type this command to run it: *java -jar DumpIT.jar*
build.properties
The current version has some basic functionality but I working on adding more advanced options in the future. The current options are:Credentials of the Source and Target Orgs.
- source.username=Username of the source Salesforce Org
- source.password=password+securitytoken of the source Org
- source.serverURL=https://login.salesforce.com
- target.username=Username of the target Salesforce Org
- target.password=password+securitytoken of the target Org
- target.serverURL=https://test.salesforce.com
- process.objects = Account, Contact, Opportunity
In case you want to push selective records, you can add SOQL conditions for a specific object. You can do that using the given format --Object API Name.where--. Make sure to escape the ='s in the condition. Example for Account is given below:
Account.where = Rating\\= 'Hot' AND Industry \\= 'Information Technology'
Path of the folder where you want to place the Success and Error files, you can set the path to the result folder downloaded with the tool above.
process.statusOutputDirectory = /Users/gulshanmiddha/Desktop/dumpit/results/
Make sure the API names mentioned above are all case sensitive. You can copy them from Salesforce UI OR using workbench.
Disclaimer - This tool modifies data in your target Org. Please test it on Sandboxes or Developer Orgs before using it on Production.
Hi, nice tool. Is there a way to exclude fields from being merged?
ReplyDeleteHi, I'm trying to execute this for some of the CPQ objects looks like its doing good for all the object except one PricebookEntry object its not inserting/upserting records the error file shows the "Pricebook2Id: Required fields are missing: [Pricebook2Id]", the dependencies objects are loaded succesfully, Any idea what I'm missing?
ReplyDeleteLooks like there a bug in this tool, it doesn't preserve the RecordType of a given sObject. Has this been reported before?
ReplyDelete