The new Partial Sandbox did not hit the mark for related hierarchial data that must be considered a single entity. The current partial extract is using a random selection of rows, so although it ensures children have a parent it does not provide the ability to ensure a parent has all it's children.

We have relational/hierarchial set of data that represents a clinical trial. The clinical trial project is a top level object with at least four levels of related data, this could be data collected over months and years. Some parent objects are slected with no children and as you go down the hierarchy you randomly have some children with data and some with none and never a complete set of children. Without all the related children you cannot adequately test or use this data. You may have gaps in time periods, etc.

Please provide the ability to specify a particular record in an object and then chase all related data for that record so that we have a complete unit. The 10,000 row limit is also going to be a problem because as you get down the hierarchy the number of related records will increase especially where you have very granular data like time reported against a trial. If we had a 10,000 limit we would in the end only be able to have a couple of clinical trials being part of the new sandbox.

For better data integrity and use in tests, it is important to provide a way to slice the data in its compleness. This is very important for us as we do several parallel projects and re-uploading missing data is very time consuming and repetitive thus not supporting productivity.

This is a continuing problem for me. While I offer a big THANKS for the Partial Copy Sandbox I would be happier if I could have more control over what goes into the sandbox. For example,all contacts with a last name that begins with C (C*).
Thanks... Bob

The referential integrity issue bit me big time this weekend. I tried to use a client's partial sandbox to stage a production deployment and ended up abandoning the partial as a staging environment due to these issues.

Maintaining referential integrity is essential in producing sandboxes you can trust. Adding the ability to filter data on each object based on custom criteria would be an acceptable workaround.

Partial sandbox is a great and less expensive option than a full sandbox. Definitely need to keep referential integrity. Another nice feature would be high level filters, e.g. Accounts where Country = United States.

Do this or give ISVs the power to hand out full sandboxes for free so our customers can test updates to the platform and our AppExchange packages on a regular basis without the lack of sufficient data.

further problem. Off of an account record in production I have a custom product (which has a lookup to account). The random creation made a product but not the account. So I manually created the account and they still didn't link. reason:
the product lookup uses the production id of account( 001C000000ul1bBIAQ ),
whereas the manually created account had a different ID ( 001W000000LOMs9 ) when I manually changed the product lookup to the 001W id it linked but this is a huge hassle.

Agree with Bill Riemers- there needs to be some way to specify what data will be copied into the partial database. Even if just a blanket statement to say the first 10,000 newest records, oldest, or whatever. Even better would be some kind of SOQL query or just a report to help narrow down the rows.

Alternatively, the records that relied on Hierarchical data could be processed first. For example, we have a custom object that relies on both a Contact and an Account record. None of the data for this custom object gets copied currently becuase only old Contacts and Accounts are moved over. If the system would scan dependencies and run the items with dependencies first, this would certainly be better than just skipping them.

The selection of data should not be random. Salesforce should have a way to tag what data you want copied. I might find a partial sandbox very useful even with 10,000 records per object type, if I could make sure they were the 10,000 records I needed most. But selecting random, means a majority of the data will be what would be considered stale data. e.g. Close Lost opportunities, inactive pricebook entries, accounts that haven't been used in years, ...

Salesforce

Need Help?

Help us to keep IdeaExchange clean by pointing out overlapping ideas. We'll investigate your suggestion and merge the ideas if it makes sense.

Merge this idea with:

Optional Comments:

Thanks for your merge suggestion. We will review it shortly and merge the ideas if applicable.

Salesforce takes abuse situations very seriously. Examples of abuse include but are not limited to posting of offensive language or fraudulent statements. To help us process your request as quickly as possible, please fill out the form below describing the situation. For privacy and security reasons, the final outcome of an abuse case may not be revealed to the person who reported it.

Details:

Thank you for your feedback. We take abuse seriously and will investigate this issue and take appropriate action.