All Magento CLI commands must be run by the file system owner.
When you set up a production system using the Commerce 2.2 pipeline deployment model, you must import configuration settings from
env.php into the database.
These settings include configuration paths and values, websites, stores, store views, and themes.
After importing websites, stores, store views, and themes, you can create product attributes and apply them to websites, stores, and store views, on the production system.
bin/magento app:config:import command does not process configuration stored in environment variables.
On your production system, run the following command to import data from the configuration files (
env.php) to the database:
bin/magento app:config:import [-n, --no-interaction]
Use the optional
[-n, --no-interaction] flag to import data without any interaction.
If you enter
bin/magento app:config:import without the optional flag, you are required to confirm the changes.
For example, if configuration file contains one new website and one new store, the following message is displayed:
These Websites will be created: New Website These Groups will be created: New Store Do you want to continue [yes/no]?
To continue the import, enter
If deployment configuration files contain some data to import, a message similar to the following is displayed:
Start import: Some information about importing
If deployment configuration files do not contain any data to import, a message similar to the following is displayed:
Start import: Nothing to import
The following sections discuss in detail what data we import.
Commerce directly uses values in the
system array in the
env.php files instead of importing them into the database because they require some pre- and post-processing actions.
For example, the value of the configuration path
web/secure/base_url must be validated with backend models.
Backend models are the mechanism for processing changes in system configuration.
You define backend modules in
All backend models must extend the
When we import backend models, we do not save the configuration values.
We import the following types of configurations.
(These configurations are under the
scopes array in
websites: websites related configuration
groups: stores related configuration
stores: store views related configuration
The preceding configurations can be imported in the following modes:
config.phpcontains new entities (
stores) that are absent in the production environment
config.phpcontains entities (
stores) that are different from the production environment
config.phpdoes not contain entities (
stores) that are present on production environment
We do not import the root category associated with stores. You must associate a root category with a store using the Commerce Admin.
Theme configuration includes all themes registered in your Commerce system; the data comes directly from the
theme database table. (Theme configuration is in the
themes array in
The key of array is full theme path:
frontend is area and
Magento/luma is theme path.
The value of array is data about theme: code, title, path, parent id
'frontend/Magento/luma' => array ( 'parent_id' => 'Magento/blank', 'theme_path' => 'Magento/luma', 'theme_title' => 'Magento Luma', 'is_featured' => '0', 'area' => 'frontend', 'type' => '0', 'code' => 'Magento/luma', ),
config.phpbut the theme’s source code is not present in the file system, the theme is ignored (that is, not registered).
config.phpbut the source code is present on the file system, the theme is not removed.