I was a heavy Features module user in Drupal 7 so I'm trying to use Configuration Management in Drupal 8 to recreate my old workflow.
In Drupal 7, when I wanted to try making changes, I would:
- Add my current config to a feature (store the values of variables with Strongarm)
- Export the feature.
- Commit the code.
- Mess around with the variables and see if I like my changes better. If yes, update the feature. If no, revert the feature.
The key to this workflow was that I was storing the config in code on the same dev server that I was using; in other words, I wasn't syncing between two servers, but rather using the Features module to store a snapshot of a working configuration while I made changes that would potentially need to be reversed.
I see that I can use Configuration Management to export configuration, but this is in archive format, which isn't very easy to diff
. Also, committing a bunch of archives to my git repository seems like the wrong way, and a big step backward from Drupal 7.
My question: In Drupal 8, is it possible to export configuration such that it can be committed to a git repo, then diff
ed and used as a "reset button" when making changes that go awry?
What I tried
In the Configuration Management documentation, it has the following solutions:
- UI-based
- Drush-based
- File--system-based
But what I'm looking for is code-based. I thought this might be "file-system-based", but these files are in the /files
directory, which is usually exempt from git by the .gitignore
file.
THEME_install
or another hook), stag server just to make sure that is OK and in production server just install as a new module. Any changes just update module. So far, all good. This way you must run update.php for each module changes (that is automatically when you use extend window to update/install).