1

I've spun up a bare-bones CumulusCI scratch org where cumulusci.yml says:

  dependencies:
    - github: https://github.com/SalesforceFoundation/EDA
    - github: https://github.com/SFDO-Community/Summit-Events-App

Once I spin it up, I'd love to load it with data from 1. EDA's sample data and 2. either this Summit events Sample data or this one (I haven't decided which yet).

I want to write up a proof of concept of:

"How to use SFDMU and Python to grab your latest validation table data out of production and parse it into lines of code appropriate for a CCI dataset.sql file and a mapping.yml file."

(Some colleagues have been struggling to keep the dataset.sql and mapping.yml files of a large in-house package's codebase up-to-date under rapid emergency changes to production data structures and data. I think that SFDMU's features like SELECT readonly_false might be able to keep up with harsh realities and help serve as a "feeder" from production into dataset.sql and mapping.yml files.)

But to start playing, I need a fake production org with a bunch of data in various "validation tables."

I don't feel like doing data entry, so spinning up a scratch org and data-loading in other people's sample datasets seems like a good substitute for an actual production org as I figure out what I want to write up as instructions for "prod to SQL."

Not sure how to dataload dependencies' datasets into a scratch org with CumulusCI, though? Most of the docs seem to be oriented toward when a dataset is part of your project rather than just wanting to play with one of your dependencies' sample data while you experiment architecturally.

1 Answer 1

2

Yes, you can do this. Use the sources feature to run the load_dataset task from a remote project. It would look something like this:


sources:
    eda:
        github: https://github.com/SalesforceFoundation/EDA
        
flows:
    my_flow:
        steps:
            ...
            5:
                task: eda:load_dataset

Alternately, if you're working at the CLI, you can do

$ cci task run eda:load_dataset --org some_org

and likewise for flows.

You can repeat this pattern as many times as needed for various remote repos.

3
  • 1
    Perfect -- I was also able to only run add the sources to my YML file and then just hand-run a command like cci task run summit:load_dataset -o mapping datasets/package_beta/mapping.yml -o sql_path datasets/package_beta/data.sql --org feature. (Still playing w/ figuring out why EDA's data as cci task run eda:load_dataset -o mapping datasets/qa/QA-release_regression_mapping.yml -o sql_path datasets/qa/QA-DsEdData.sql --org feature doesn't like my org config -- something to do w/ communities. It's always communities when weird deployment play fails in Salesforce.)
    – k..
    Jan 5 at 21:29
  • Oh and wow OK I didn't realize how easy Snowfakery would be just stealing from Summit Events's Snowfakery definition and running cci task run snowfakery --recipe my_fakes/my_first_snowfake.yml --org feature. (Now why the org is yelling at me that I can't create an Account of type Educational_Institution is another question, but anyway...)
    – k..
    Jan 5 at 21:39
  • That latter problem may be that you haven't run EDA's update_admin_profile to set the Record Types on your user. Edited my answer to note, as you observe, that it works from the CLI too.
    – David Reed
    Jan 5 at 21:57

You must log in to answer this question.

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