Development without pulling production DB to your local machine When you push configuration to production, any configuration that has changed in production that has not been exported into code will either be reset to the values in code or be wiped out entirely if they never existed in code. One out of many examples is changing the site name. If that change didn't go into code (i.e. if a content admin changed it, not a developer), the next deploy would reset that change.

Now the solution we have in place is to pull the production DB down and export the configuration against production code. Any differences appearing in the export are configs that have changed on production since last deploy. It's a process that you can easily wrap your head around (prod config - deployed config = changed config -&gt; you check this in) and works pretty well so far. 

But there are issues with this approach, one in particular is pulling the production database down. The DB may be huge, well into the hundred megabytes. It may contain sensitive info you don't want on your machines. Or it can only be retrieved indirectly (e.g. last night's cron job) and could already be stale by the time you work on it.

I know D8 config management is not perfect, and some things can't be avoided due to the current design of things. But I still would like to ask:


Is there a better way to do the process of resolving configs on deploy?
Is there any way to do this without pulling down the production database down?
Is there a Drupal/Drush/third-party module feature that already does what I am describing?
Is this more of a content workflow issue? i.e. never let content admins touch config?
Install Config Ignore and configure it to ignore those config objects from which you think they are going to be changed in production.


  Ever experienced that your site's configuration was overridden, by the
  configuration on the filesystem, when doing a drush cim?
  
  Not anymore!
  
  This module is a tool to let you keep the configuration you want, in
  place.
  
  Lets say that you do would like the system.site configuration (which
  contains that sites name, slogan, email, etc) to remain untouched, on
  your live site, no matter what the configuration, in the config
  folder, says.
  
  Or maybe you are getting tired of having the devel.settings changed
  every time you import configuration?
  
  Then this module is what you are looking for.