Staging process -- how NOT to overwrite user content/data @ DB push to Production site? I've finally gotten my Drupal7 Development->Staging->Production file &amp; db syncing all working nicely using a mix of rsync, rsyncd, git &amp;, where it doesn't cause more/unnecessary work for me, drush.

Not the cleanest approach, but all working quite nicely.

Until i realized ...

a DB push from Staging->Production that contains changes I've made &amp; QA'd @ my Staging site (for modules, site config, etc), will overwrite any/all user data/content @ the Production site. Unless, of course, I specifically identify &amp; exclude the tables that contain data/content -- and simply don't inclue them in the push.

My question is -- other than manually checking -- is there a reliable method (a pre-existing static list?  a sql query on table names? something?) to know those tables to exlude?

This

How to migrate from test environment to production environment? 
How to migrate from test environment to production environment?

in addition to countless other threads I have found, mentions "Features" and "Deploy", and basically says "it's hard".  If the answer's "in there", I haven't wrapped my head around it yet.

Again, I've got the mechanics working as I want them.  This last step is identifying -- and voiding overwrite of! -- the user content/data at the Production site.
This is a big architectural issue and as answers to the other question says: UUIDs in core in D8 will be a big improvement. They'll give all content a unique ID (independent of the content id in the database), and so if you make important modifications to content in some staging phase, the software could reconcile which content is worth transferring.

There's a UUID project for Drupal 7, which I believe Deploy module can use in this way.


  The integration with Services module alters all UUID enabled entity
  resources (nodes, users, taxonomies etc) to be based on UUIDs instead.
  This way it becomes easier to share and integrate content between
  sites. This functionality is used by Deploy module.