Skip to main content

Posts

Showing posts from May, 2019

Modify Salesforce Data from the Command Line

When doing Salesforce data loads, how often are you putting the same value in an entire column? I find this happening when I need to:
Move all accounts from one user to anotherAssign a set of leads to a specific userSet a field to a specific value Let's use the example from my other post: Salesforce Data Loads from the Command Line - Move all accounts owned by one user to another user. Magic Let's break down each piece of this: soql This is an alias I set for sfdx force:data:soql:query --query. It saves me from having to type this out each time and let's me query from the command line by just typing soql and my query.

This is a popular StackExchange post that talks about how to set an alias.
cat This command outputs the contents of a file. It is common to use this command with other commands by piping the output into another command. In our example, we are piping the output into the cut command.
This post gives more examples of how to use the cat command. cut This is a comm…

Salesforce Data Loads from the Command Line

Whether it's creating, updating or deleting records, it seems like we're constantly being asked to do data loads. Trouble is, that this takes away from our core project tasks. There must be a faster way...

Use Case: Move all accounts owned by one user to another user.
Export Data from the Command Line The first step in loading data is to prepare the import file. Sometimes we are given a nicely formatted import file, but let's pretend you need to pull the data out of Salesforce first.
In our scenario, we need to export the accounts that need to be moved. To do this, we need to get the Id of the user who currently owns the accounts.

You'll notice that this command starts with soql instead of sfdx force:data:soql:query --query. That is because I have set soql as an alias for the sfdx query command. Check out my other post on SOQL from the Command Line for more details on this technique.
Now that we have the Id of the user who currently owns the accounts, let's get the…

How to Install the Salesforce Command Line Interface

Follow these instructions to install the Salesforce Command Line Interface (CLI):
Open the Salesforce CLI download pageDownload the package needed for your operating systemAuthenticate with an org by running these commands: Here's a video walk-through:

Joins in SOQL

If you are familiar with SQL, the biggest gotcha when writing SOQL is how joins are done. You'll see the term Sub-Query used instead of JOIN because of how queries are done on the Salesforce platform. You can still do joins; it's just done a little differently than you're used to.
Sub-Query (Outer Join)In SQL, a join is when rows are selected from multiple tables and joined together on common columns. Thinking about your tables like a Venn Diagram is a great analogy for this.

Let's say you want to query all Accounts and also include their related Opportunities.

This is an example of an Outer Join because it selects all Accounts and will include their related Opportunities via the sub-query. If an Account does not have an Opportunity, it will still be returned here.

An Outer Join is similar to selecting one whole circle in a Venn Diagram, including the area that overlaps with the other circle. Sub-Query (Inner Join)An inner join can seem a little more complex. This is …