4

We recently purchased a partial data sandbox for a client and it works as expect which is great. One issue thats come up is that the client i actively updating data in production while we work on updates in the sandbox and ideally we could do a refresh of just the records and not destroy the updated visualforce and apex code.

Similiarly one of the things we like most about the partial data sandbox is that we can bring over some data but not others. But what happens is we are building out quite a lot of test data that we'd love to persist between refreshes.

So a couple of questions

  1. Is a records only refresh possible? Leaving apex/visualforce development alone
  2. Similarly is it possible to refresh the data but but for any object not included in the refresh template leave any test data built up as is?

for #1 the best we've come up with is to push the development into another sandbox just before the refresh, then push it back. Not ideal but works, #2 sadly we havent found an option other than manual export/imports

3

If you are using the Partial Data sandbox as your only sandbox environment, I think you will always have this problem. A sandbox "refresh" is really a brand-new instance based on production or another sandbox, and the old sandbox instance by the same name goes into a delete queue. The only way to transfer something from the old sandbox to the new is to export it and import it again, as you note.

As an alternative, I suggest using multiple sandboxes for your process. Do your development in a basic Developer or Developer Pro sandbox (or more than one), and then push development to the Partial Data sandbox for staging and testing before the final push to production. In this way, you can easily refresh the staging sandbox data, and it doesn't have any effect on the main development area. Test data and code you are using in the dev sandbox doesn't need to move.

This method does require a little more routine code management, including timing around refreshes and code releases. And it means you won't have production data inside your primary dev environment without an export/import. However, it's pretty nice to be able to refresh the staging sandbox without disrupting development work.

1

Unfortunately I believe the answer is no, as the "refreshed" sandbox is an entirely new instance and is copied from your Production environment. It is related to the old instance in name only.

Using a second sandbox as a "backup" does work. However, if you can, use the other sandbox for development first, and then deploy to the partial sandbox for testing/staging. This way you can refresh your partial as much as you need to without disrupting development. Just redeploy from dev back to partial after the refresh.

[Development] => [Partial (Staging/QA)] => [Production]

In regards to refreshing data, since the two sandboxes are not technically connected in any way, there is no built-in way to copy or persist the data between refreshes. Any custom data you have will have to be backed up and reloaded on your end.

1

Short answers:

  1. No.
  2. No.

A refresh totally wipes everything in a partial sandbox which means you need to restore your code from Eclipse if you do it that way. Generally speaking, a partial sandbox doesn't include hardly any data with it when its created or refreshed, meaning you usually need to import it from someplace anyway. The sandbox is too small to hold much data from a production environment.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.