Sync dev store with live store (or vise versa)

I maintain an offline development version of my live site which I use to add new products and product displays as well as test recommended module or core updates before manually updating the live site with a revised db (and supporting files).

My primary problem is that orders (and lots of intermingled data) come into the live site while I'm making said updates to the offline dev site, which are then "lost" when I later manually update the live site.

This can't be the ideal workflow.

Can someone suggest a better process?

Posted: Jan 20, 2013


headbank on January 22, 2013

Hi noelgross :)

I feel your pain, and I don't have an easy answer when it comes to Drupal or any web app that puts so much structure and content into the database.

The only way to really ensure data continuity would be to disable the live site while you do your testing, which few people can afford on a production ecommerce site.

My approach is:

  1. Sync everything (files and DB) to the test server
  2. Apply updates and my own code modifications, if any
  3. Test everything. A lot.
  4. When satisfied, repeat Step 2 manually on live server. Disable site access temporarily if necessary (which it probably is).
  5. Repeat as much of Step 3 as you can (without ruining it for other visitors) on the live site.

If this doesn't sound adequate, there are no doubt many "Enterprise" services that handle all of these issues for you, but expect those to carry an Enterprise price-tag accordingly. If you do find yourself calling up CapGemini/Atos/Fujitsu/etc and enquiring about these options, I hope you'll share the quotes you get for it ;)