1

I have two scratch orgs, one has data(both on local and on remote) and other is empty. Then, I pushed the data from my first org to second one using sfdx force:source:push command. The data is available online(remotely) on the second org, but when I tried to pull data from the second org to the local folder it shows "No result found(that there is no difference b/w remote and local)".

Does anyone have any idea how can I sync my data?

2
  • 3
    You say you have two scratch orgs - are these orgs in completely separate Salesforce DX projects? Have you made changes to the configuration in Org 2 that should be pullable? On a first read, this sounds like expected behavior, so I'm not sure how to understand the issue.
    – David Reed
    Commented May 1, 2018 at 11:33
  • Hi @DavidReed, both the scratch org have different DX projects. Commented May 1, 2018 at 15:18

1 Answer 1

1

With Salesforce DX, the source of truth is always the version control repository (your local work directory). It sounds like you have a setup like this:

sfdx-project-1/ 
     force-app/
         (your source code lives here)
     --> Link to Scratch Org 1
     --> Link to Scratch Org 2

sfdx-project-2/ 
     force-app/
         (empty)
     --> Link to Scratch Org 2

You populated Scratch Org 2 from Scratch Org 1, and now you're trying to pull that data back down from Scratch Org 2 into sfdx-project-2.

Here's the thing: you probably don't need to do this, because sfdx-project-1 is really the source of truth for your project. You could simply do something like (assuming you're using something with a POSIX-y command line):

cp -R sfdx-project-1/force-app/* sfdx-project-2/force-app/

or

git clone sfdx-project-1 sfdx-project-2

to copy all of your file content locally. Your projects should both match up with both scratch orgs at that time.

I suspect sfdx is confused because you're going in some way the "wrong" direction by pulling a complete source set from the scratch org (not the source of truth) into a version control repository that's empty (the source of truth shouldn't be empty).

2
  • Hi David, thanks for the response. The reason why I am doing this is I have developed my functionality in ScratchOrg1 and I want to test my functionality in ScratchOrg2 as Salesforce recommend using two different scratch org for both development and testing. So, I have pushed all my data from ScratchOrg1 to ScratchOrg2. Am I doing it right or there is a better approach for this? Commented May 3, 2018 at 14:38
  • Can you link to that recommendation? It doesn't make a lot of sense to me apropos of nothing.
    – David Reed
    Commented May 3, 2018 at 15:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .