drupal-config-reconcile
Drupal Config Reconcile
A guided workflow for resolving the gap between your tracked config (config/default, plus any split dirs) and a deployed environment's active configuration. Most teams have the mechanics (config:status, cim, cex) but no disciplined way to walk drift item-by-item and decide which side wins. This is that discipline.
The core decision: import vs export vs skip
For every divergent config item, exactly one of three things is true, and you pick a direction:
- Import = disk → DB. The tracked file is the source of truth; it deploys to the environment on the next code deploy + config import. No file change — you keep what's in git.
- Export = DB → disk. The environment's value wins; you write its config into your tracked files (or
git rmthe file if the environment doesn't have it). - Skip. Leave the divergence unresolved and move on (the right call for benign
uuid/_core-only diffs).
Never run config write operations against production. This workflow only reads from a reference environment and only writes to local files. It never writes to any remote database.
Remote CLI — host-neutral
Examples below use Pantheon's Terminus. The workflow is the same on any host — substitute your platform's remote-drush command. If your platform provides Drush site aliases, the generic drush @<alias> <cmd> form works everywhere and is the simplest baseline.