Overview
Scratch orgs, like development sandboxes, don’t include data when created. Because scratch orgs are typically created and dissolved on a daily basis, quickly and easily adding data to and deploying data from scratch orgs is critical for developer productivity. Prodly provides a Salesforce CLI plugin so Salesforce developers can easily seed their scratch orgs with data and/or deploy data to and from any Salesforce environment directly using the sf command line interface.
The plugin allows you to deploy data between these environment types for any environment you have credentials to access:
- From a developer hub (dev hub) org to a scratch org.
- From any environment to a scratch org.
- From a scratch org to any environment, except a dev hub org.
- From any non-scratch org to any non-scratch org.
Some example use cases:
- Copy a subset of data from an existing production environment to a scratch org for testing purposes.
- After developing and testing an application using scratch orgs, deploy the changes to a centralized sandbox.
- Mimic the typical environment-to-environment deployment you do from the Release user interface.
- Many other possibilities…
Related Projects and Packages:
- Github Project: https://github.com/prodly/prodly-sf-cli/tree/main
- NPM Package: https://www.npmjs.com/package/prodlysfcli
Setup
To properly set up your environment for using the plugin:
- Install the Salesforce CLI
- Follow the instructions in the Salesforce CLI Setup Guide to enable the Salesforce Developer Hub (dev hub) in your production or business environment.
- Follow the instructions in the Install the Managed Package topic of Prodly Release to install the Prodly managed package in your dev hub org. The dev hub org must be the control environment.
- Install the Prodly Salesforce plugin using the command:
sf plugins install prodlysfcli@x.y.z
- Use the Salesforce command-line interface (CLI) to authorize your dev hub org:
$ sf login web org
- Use the Salesforce CLI to create your scratch orgs.
- Optionally, use this command to set a default dev hub username:
$ sf config set target-dev-hub=”<devhubusername_or_alias>” -g
- Optionally, use this command to set a default scratch org username:
$ sf config set target-org=”<username_or_alias>” -g
- Before accessing each environment (from production to full sandbox to scratch org) relevant to your use case for the very first time, either add the environment on the Environments page in the UI or use the
prodly:manage -m
command to connect Release to the environment from the command.
If you encounter errors deploying to a scratch org either after initial creation or after your session times out, run this command: $ sf org open - u
Usage
Prodly’s Salesforce CLI plugin consists of these commands:
- prodly:checkin – saves data from a Salesforce environment to a version control system (VCS) repository branch.
- prodly:checkout – deploys data from a VCS repository branch to a Salesforce environment.
- prodly:deploy – deploys data from one Salesforce environment to another Salesforce environment.
- prodly:manage – authorizes a Salesforce environment for use by the plugin.
- prodly:version – links a new or existing branch to a Salesforce environment.
prodly:change-types
-lists all or a specific change type and creates a scratch org from a change type.