I'm fairly new to Salesforce (till now I was using Dev org) and doing my first project. Would like any advice on structuring and using the sandboxes.

I'm using a NonProfit Starter pack which provide 6 Developer Sandboxes with a capacity of 200 MB and one Developer Pro Sandboxes with a capacity of 1 GB. How many sandboxes should I create and how do I use them? Primarily I'll be the only one who would be working or may be 1 another person. Each one has a Refresh interval of 1 day and includes Configuration, Apex and Metadata, All Users.

All the configuration and Apex changes that I make in Sandbox can later be moved to Production after testing. If I create 2 sandboxes and want to have an identical configuration in both the sandboxes, would I be able to do that?

What is the refresh interval of 1 day? I thought it is for the data but since the sandbox just includes the configuration, apex and metadata, users - what does it mean here?

When migrating older data from csv, do I need to migrate it first into sandbox, validate, test etc and then export and import it back to the Production? Or should I do it directly to Production? (I'm doing Data Import for the first time for a customer. I've just practiced data loader in the dev org). Considering my situation, what is the right way to do?

Any help would be appreciated...

  • Just because you can refresh 1/day doesn't mean you want to. That's the maximum frequency you can refresh your sandboxes. Only refresh them as appropriate when you really need to and have planned ahead for it. Others have covered the rest below, so wanted to add that note.
    – crmprogdev
    Commented Jul 12, 2014 at 15:09

2 Answers 2


There is a great guide for development available here: http://www.salesforce.com/us/developer/docs/dev_lifecycle/salesforce_development_lifecycle.pdf

The 1 day refresh means that you can refresh your sandbox each day. Meaning you can delete the sandbox you have and create a fresh one from production.

We only have one sandbox, but if I were blessed with 6, I would for sure have one for development, one for QA, one for Training/UAT. The difficult part of having multiple sandboxes is making sure your changes get deployed to all of them.

If the data you are importing needs to be cleaned up and worked on until it is finally production ready, then I think importing into a sandbox and then getting it production ready, exporting from there and importing back into production would work, however since you have development sandboxes the SF IDs will not be the same so watch out for that.


Considering it's only going to be a couple of people working in the instance and being a fresh org, I'd create 2 sandboxes. The first one being development one (developer) and the other one UAT (user acceptance testing) which will be the pro one.

Going forward, you want to do all the development in the developer sandbox first, smoke test etc., then deploy all changes to the UAT one. Here end to end testing is completed and finally everything is moved to production.

The refresh interval means that you can refresh the sandbox only once per day. When refreshing, all data and configuration from the sandbox will be lost and will be replaced with the production data and configuration. Although, the production instance remains unchanged. So try to avoid refreshing unless you really need to.

Regarding loading data, I'd use the developer pro sandbox (UAT in this case) and do all the real-life testing scenarios there. Once confirmed that everything behaves appropriately and work out the data mappings etc., then you should load the same data in production. Data integrity can be a real issue at a later stage, so always test what you're loading.

If you decide to go in this direction, try to keep all 3 instances in-line in terms of configuration, apex development and mostly important - test classes.

You must log in to answer this question.

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