With the introduction of Salesforce DX, it creates confusion how can I work with old Salesforce(Non Salesforce DX) projects. In this post, I tried to explain how you can still work with your existing non salesforce dx project code, but get all the benefits of Salesforce DX.
First let’s understand the biggest difference between Salesforce DX and Non Salesforce DX which is that in Salesforce DX we don’t need any package.xml and all the changes will be automatically detected. Basically in Salesforce DX, the project format is different than traditional Non Salesforce DX project format.
In today’s blog post, I will discuss how Salesforce DX can be used without enabling Developer Hub with normal Salesforce instance.
I will be using one my developer org(Non Salesforce DX) for this one.
The first command I will be issuing here is to authenticate my developer org and the command is:
sfdx force:auth:web:login -a SudiptaPersonal
Now I will try to retrieve metadata using package.xml. For that, I stored the package.xml in src folder and now with the below command I will be able to retrieve metadata
sfdx force:mdapi:retrieve -k src/package.xml -u SudiptaPersonal -r ./sourceZip
- -u: I am using alias to execute this command against my Personal Salesforce Org.
- -r: This is the location where the zip file will be stored.
- -k: Location of the package.xml which will be used to retrieve the list of metadata.
sfdx force:mdapi:deploy -f sourceZip/unpackaged.zip -u SudiptaPersonal -w 10
- -u: I am using alias to execute this command against my Personal Salesforce Org.
- -f: Zip file location containing metadata and package.xml.
- -w: Wait time in minute for operation to complete.
sfdx force:project:create -n PersonalDXProject
sfdx force:mdapi:retrieve -u SudiptaPersonal -k src/package.xml -r sourceInZip
This will retrieve the metadata in zip format and store in the folder sourceInZip.
sfdx force:mdapi:convert -r sourceInZip/unpackaged
- -r: Folder containing the unzipped source code
sfdx force:source:convert -d convertedCode/ -r force-app/
- -d: Folder where the converted code and package.xml will be stored.
- -r: Folder containing the current Salesforce DX.
sfdx force:mdapi:deploy -u SudiptaPersonal -w 10 -d convertedCode
This process is required to deploy changes from Salesforce DX org(your development environment) to Non-Salesforce DX org (for example: QAT).
Here is the small video showing how to use Salesforce DX to retrieve, convert and deploy metadata into Non-Scratch Org.
Please provide your feedback.