Description
Description
Add option config-types
on app:config:dump
to skip dumping all system settings. That allows to dump only scope
, theme
for easier maintainability.
Fixed Issues
When using app:config:dump
in real projects, we normally do not want to dump all thousands core_config_data
settings into config files. That makes the files difficult to read and maintain. Imho dumping scopes
and themes
makes a lot of sense. However, the system settings should be kept small and simple. They must be progressively added according to project needs.
On the other hand, the main purpose of config.php
is to propagate configuration that must be same in all environments, specially for PRD
and Build
systems. These settings should be just a few, like for example css
and js
configuration needed for setup:static-content:deploy
. Of course others settings might be needed depending on the project but all the others are better managed into core_config_data
table or by using setup scripts.
This new option config-types
makes possible to dump scopes
and themes
automatically (needed for build system) while managing system settings manually using config:set --lock-config
as requested in PR:
- #12178
It also fixes this issue:
Manual testing scenarios
Example of workflow on a real project:
-
When creating the project we dump all settings with
app:config:dump scopes themes
-
That creates the needed settings for
scopes
andthemes
but skipssystem
core config data -
We also add shared settings needed for
PRD
andBuild
environmentsbin/magento config:set --lock-config dev/js/merge_files 1 bin/magento config:set --lock-config dev/css/merge_css_files 1 bin/magento config:set --lock-config dev/static/sign 1
-
As project evolves, we add a new stores and themes, so we need to update our
config.php
settings.bin/magento app:config:dump scopes themes
-
At the same time, if we ever need to
share
system settings on all environments, we can use the commandbin/magento config:set --lock-config
without needing to dump all hundreds of settings into theconfig.php
Contribution checklist
- Pull request has a meaningful description of its purpose
- All commits are accompanied by meaningful commit messages
- All new or changed code is covered with unit/integration tests (if applicable)
- All automated tests passed successfully (all builds on Travis CI are green)
Original Report: magento/magento2#12410 by @jalogut