function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
JerryJosephJerryJoseph 

sandbox refresh

the full sandbox can be refreshed only once in 30 days? once i make some changes and i want to revert it back to the copy of the live environment i have to wait for 30 days???
micwamicwa
yes or you rebuild the changes in the sandbox...
HarmpieHarmpie
For the full copy sandbox I think a 30 day refresh limit is reasonable. However, the 30 day refresh cool down period for APEX sandboxes is bothering me to be honest, specially since there's no decent way to migrate changes in the Sandbox to the Production environment. Moreover, it seems the 30 limit period is not consequently implemented, since I am also administring org's where this limit is not forced, there I can refresh the sandbox multiple times a day. APEX sandboxes should be allowed to refresh unlimited times!
sandeep@Salesforcesandeep@Salesforce

yes it takes minimum 29 days to allow next refresh  in cse of configuration only & Developer it requires only 1 day to allow refresh 

 


Kashyap PatelKashyap Patel

i've struggled with the 30 day refresh limit too. Many times we have production issues on custom development work which can only be replicated when using data in the production environment. This tends to happen when the issue relies on multiple records (and from multiple related objects), so reproducing the issue by creating the records in sandbox is next impossible (or time taking).

 

Among the many situations where you might want faster refreshes is if you're putting out changes to production every weeks (agile projects) and want to show the business users the progress against thier live data, but you can only refresh once every 30 days.

 

One more reason is when you want to test against actual data but already used up the refresh as part of another deployment. I know that refreshing the code changes is pretty straight forward through eclipse, the configurations are alittle more tricky, but the data is next to impossible because of referential integrity issues and the sheer number of objects containing the data needed. Also, if the development is data destructive (i.e. changes the data when executed), then the data must refreshed after every debug session.

 

For these reasons, i developed an app called SFXOrgData (www.sfApex.com) which transfers data from prod to sandbox or sandbox to sandbox (it figures out the relationships and includes those records as well). Its helped me out in these situations when we couldn't refresh the sandbox when we needed to. For times where there aren't too many objects involved, we used Apex Dataloader which worked well. I know that disabling/reenabling validation rules and triggers also became an issue because some data was there before the validation rule/trigger was ever put in place so i built in a mechanism that allows me to select if i want to disable them when transferring records.

 

If you ask me, I think that it would have been nice if Salesforce provided a way to refresh the sandbox more frequently, but another option (I'm not sure if viable) is to change your release on a Monthly or Quarterly maintenance release basis. I know in the real world, sometimes the users can't wait until the end of the month for a fix/functionality. There's alot of discussion around this (they say never change your testing cycle schedules because it will rush things and create more bugs) but life is life. Anyways, I hope this helps. Thanks