app:config:dump locks everything in configurationmagento2 developer mode not properly setBlank configuration screenMagento 2.2 Build systemMagento 2.2.0 admin developer configurationGIT deployment and what files are required in production environmentShow custom module configuration in Admin Menu not in Store -> Setting -> ConfigurationMagento 2.2: moving configs from config.php to env.php after app:config:dumpMagento 2: Showing grid in configuration pageCron job uses more resources than everything elseMagento 2.2.5: change configuration in magento 2 and block dieMagento 2: How do you move Catalog/CMS changes to production?
Hostile work environment after whistle-blowing on coworker and our boss. What do I do?
How do I keep an essay about "feeling flat" from feeling flat?
What is the intuitive meaning of having a linear relationship between the logs of two variables?
Coordinate position not precise
when is out of tune ok?
Why Were Madagascar and New Zealand Discovered So Late?
Modify casing of marked letters
Was Spock the First Vulcan in Starfleet?
Star/Wye electrical connection math symbol
Implement the Thanos sorting algorithm
How does a character multiclassing into warlock get a focus?
How do I define a right arrow with bar in LaTeX?
There is only s̶i̶x̶t̶y one place he can be
What is the oldest known work of fiction?
How can I use the arrow sign in my bash prompt?
how to analyze "是其于主也至忠矣"
What to do with wrong results in talks?
Print name if parameter passed to function
Is there any reason not to eat food that's been dropped on the surface of the moon?
Is it okay / does it make sense for another player to join a running game of Munchkin?
How could Frankenstein get the parts for his _second_ creature?
Why did Kant, Hegel, and Adorno leave some words and phrases in the Greek alphabet?
If a character can use a +X magic weapon as a spellcasting focus, does it add the bonus to spell attacks or spell save DCs?
HashMap containsKey() returns false although hashCode() and equals() are true
app:config:dump locks everything in configuration
magento2 developer mode not properly setBlank configuration screenMagento 2.2 Build systemMagento 2.2.0 admin developer configurationGIT deployment and what files are required in production environmentShow custom module configuration in Admin Menu not in Store -> Setting -> ConfigurationMagento 2.2: moving configs from config.php to env.php after app:config:dumpMagento 2: Showing grid in configuration pageCron job uses more resources than everything elseMagento 2.2.5: change configuration in magento 2 and block dieMagento 2: How do you move Catalog/CMS changes to production?
I am using pipeline deployment. As suggested in Magento 2.2 documentation, to use pipeline deployment process use below code:
app:config:dump
and add config.php to source control. But when i execute app:config:dump it locks everything in system configuration.
Even not able to update store email addresses.
Is there any way to dump only required settings that will be used to generate static content on build system?
I am confused whether to use pipeline deployment or not.
I am using Magento 2.2 CE Open Source version.
Any one has implemented pipeline deployment and any suggestion for me.
Thanks in advance.
configuration magento2.2 deployment
add a comment |
I am using pipeline deployment. As suggested in Magento 2.2 documentation, to use pipeline deployment process use below code:
app:config:dump
and add config.php to source control. But when i execute app:config:dump it locks everything in system configuration.
Even not able to update store email addresses.
Is there any way to dump only required settings that will be used to generate static content on build system?
I am confused whether to use pipeline deployment or not.
I am using Magento 2.2 CE Open Source version.
Any one has implemented pipeline deployment and any suggestion for me.
Thanks in advance.
configuration magento2.2 deployment
add a comment |
I am using pipeline deployment. As suggested in Magento 2.2 documentation, to use pipeline deployment process use below code:
app:config:dump
and add config.php to source control. But when i execute app:config:dump it locks everything in system configuration.
Even not able to update store email addresses.
Is there any way to dump only required settings that will be used to generate static content on build system?
I am confused whether to use pipeline deployment or not.
I am using Magento 2.2 CE Open Source version.
Any one has implemented pipeline deployment and any suggestion for me.
Thanks in advance.
configuration magento2.2 deployment
I am using pipeline deployment. As suggested in Magento 2.2 documentation, to use pipeline deployment process use below code:
app:config:dump
and add config.php to source control. But when i execute app:config:dump it locks everything in system configuration.
Even not able to update store email addresses.
Is there any way to dump only required settings that will be used to generate static content on build system?
I am confused whether to use pipeline deployment or not.
I am using Magento 2.2 CE Open Source version.
Any one has implemented pipeline deployment and any suggestion for me.
Thanks in advance.
configuration magento2.2 deployment
configuration magento2.2 deployment
edited Oct 12 '17 at 8:15
Rita Jose
9392939
9392939
asked Oct 12 '17 at 7:28
Gulshan MauryaGulshan Maurya
255312
255312
add a comment |
add a comment |
5 Answers
5
active
oldest
votes
I also do not think that dumping all settings is a good idea, so I created this PR to be able to skip dumping the whole core_config_data:
- https://github.com/magento/magento2/pull/12410
As I mention on the PR, the right way to manage core_config_data settings into config.php should be manually and not using any dump system. That is because those settings should be not more than a few and developers know which ones are needed.
The dump still makes sense for scopes and themes as in that case we need all settings for those scopes inside config.php
That said, until the PR gets accepted, if it ever does... We accomplish the same by adding the following in our projects:
module.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
<module name="VendorName_ModuleName" setup_version="0.0.1" >
<sequence>
<module name="Magento_Config"/>
</sequence>
</module>
</config>
di.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<virtualType name="skipDumpSystemSource" type="MagentoConfigAppConfigSourceDumpConfigSourceAggregated">
<arguments>
<argument name="sources" xsi:type="array">
</argument>
<argument name="rules" xsi:type="array">
</argument>
</arguments>
</virtualType>
<type name="MagentoDeployConsoleCommandAppApplicationDumpCommand">
<arguments>
<argument name="sources" xsi:type="array">
<item name="system" xsi:type="array">
<item name="source" xsi:type="object">skipDumpSystemSource</item>
<item name="namespace" xsi:type="string">skipSystem</item>
<item name="comment" xsi:type="string"></item>
</item>
<item name="system_env" xsi:type="array">
<item name="source" xsi:type="object">skipDumpSystemSource</item>
<item name="namespace" xsi:type="string">skipSystem</item>
</item>
</argument>
</arguments>
</type>
</config>
These configuration will skip the dump for all core_config_data settings while keeping any system configuration already existing in config.php and env.php
Another option:
If that does not work for you and you still want to specify which core_config_data should be dumped automatically, you can check this gist code:
- magento2-config-dump-only-specific.php
That code allows you to specify which config settings to dump into config.php like that:
<!-- any di.xml -->
<type name="VendorNameModuleNameModelConfigTypeTypeConfigPool">
<arguments>
<argument name="includeInConfigPhp" xsi:type="array">
<item name="dev/js/merge_files" xsi:type="string">1</item>
<item name="dev/css/merge_css_files" xsi:type="string">1</item>
<item name="dev/static/sign" xsi:type="string">1</item>
</argument>
</arguments>
</type>
All this can be done now in Magento 2.3, using the cli.
– J. M. Becker
Jan 6 at 20:47
add a comment |
This is by design. Any configuration contained in config files will be locked in the Admin Panel. The recommendation is to make all needed configuration updates on your system before using the app:config:dump command as documented in the recommended pipeline deployment workflow.
Unfortunately there's not a way to generate only the config needed by static content deploy for now (though you could create your own).
You have two options to edit configuration values after you dump the config:
- remove the needed configuration line from the config file (and then run config:import). This will make it editable in Admin Panel again.
- change the needed config value with the help of
config:set --lockCLI command
Magento cloud have such command magento-cloud:scd-dump on devdocs.magento.com/guides/v2.2/cloud/live/… and it is Recommended. So there should be similar one in Magento CE. May be they will include it in future.
– Gulshan Maurya
Oct 16 '17 at 8:13
1
@gulshanmaurya hopefully it gets included in the future. I created a PR long time ago but it has not been accepted yet. github.com/magento/magento2/pull/12410 In the meantime, I use the solution described in my answer below. It's working really well so far.
– Jalogut
Mar 3 '18 at 13:33
add a comment |
If you absolutely MUST unlock all configuration as I had to do, there is a way but it's quite tedious and time consuming.
As this can be dangerous it goes without saying you should backup your database before undertaking this process.
- Dump all current config
php bin/magento app:config:dumpand make a backup of this file - you'll need it later Remove all config from
app/etc/config.php, but leave some stuff in, like in this example: https://pastebin.com/XKxM08q1Go to your database and run
SELECT flag_data FROM flag WHERE flag_code = 'system_config_snapshot';This will return a long JSON. Try validating it using an online tool.It's likely that validation will fail since the column's
flag_datatype isTEXT(as per 2.2.3) which can only take 65k characters and the value might be trimmed. In my case the JSON ended like... "email":"something@something.com","ident_sales":"email":"something@something.com","ident_supporwhich is obviosusly invalid so I changed it to... "email":"sersomething@something.com","ident_support":}}}}.Change the column type to
MEDIUMTEXTorLONGTEXTTry fixing the likely invalid JSON and replace the value of
system_config_snapshotRun
php bin/magento app:config:importand pray it'll "import" (in this case unlock) all configuration- If all goes well your configuration should be unlocked and empty/default. This is why we dumped the config in step 1
- Create a custom script that will parse the dumped
config.phpfile. You can get the code here https://pastebin.com/rhYGxeiL - Run the script in your browser. It will only output a list of commands that you can later put in a
.shscript. - Adjust the script to your needs. This was sufficient for my scenario but you might need to tweak it a bit.
Script output should be something like this:
echo "#0 - Setting : design/pagination/list_allow_all";
bin/magento config:set design/pagination/list_allow_all "1";
echo "#1 - Setting : design/pagination/pagination_frame";
bin/magento config:set design/pagination/pagination_frame "5";
echo "#2 - Setting : design/head/default_title";
bin/magento config:set design/head/default_title "Site title";
echo "#3 - Setting : design/head/default_media_type";
bin/magento config:set design/head/default_media_type "text/html";
echo "#4 - Setting : design/head/default_charset";
bin/magento config:set design/head/default_charset "utf-8";
echo "#5 - Setting : design/head/demonotice";
bin/magento config:set design/head/demonotice "0";
echo "#6 - Setting : design/head/shortcut_icon";
bin/magento config:set design/head/shortcut_icon "default/favicon.ico";
echo "#7 - Setting : design/search_engine_robots/default_robots";
bin/magento config:set design/search_engine_robots/default_robots "INDEX,FOLLOW";
echo "#8 - Setting : design/search_engine_robots/default_custom_instructions";
bin/magento config:set design/search_engine_robots/default_custom_instructions "
User-agent: *
Disallow: /index.php/
Disallow: /*?
Disallow: /checkout/
Disallow: /app/
Disallow: /lib/
Disallow: /*.php$
Disallow: /pkginfo/
Disallow: /report/
Disallow: /var/
Disallow: /catalog/
Disallow: /customer/
Disallow: /sendfriend/
Disallow: /review/
Disallow: /*SID=
";
echo #[n] - Setting [path] is there just so you can see what's going on later in the console. Note the multiline value for design/search_engine_robots/default_custom_instructions -> this is fine.
Once you confirm everything is OK you can put the entire output inside a .sh file, e.g. config_import.sh on your server and run it sh config_import.sh and watch the configuration import. It can (will) take some time so be patient.
Bottom line: if you aren't absolutely sure you'll use the pipeline deployment as per documentation, do not lock the configuration :)
Good luck
add a comment |
You need to delete all data from app > etc > config.php except modules array.
After run below commandsetup:upgradesetup:di:compilesetup:static-content:deploy -fcache:flush.
All your system configuration are unlocked and you can change the value of it.
Thanks a lot @himanshu!!It works like a charm!
– Sneha Panchal
Dec 7 '18 at 5:16
add a comment |
Here is a slightly modified version of the php script by Zankar above that dumps the config commands to the console instead of in an HTML page.
I create a file called: config-php-to-config-cli.php
<?php
$skip = [
'customer/address_templates/html',
// add any config paths you might want to avoid importing
];
$config = include './mag_configs/dev.config.php'; // this is the dumped config backup
$i = 0;
echo 'cd $mroot';
echo "n";
echo "set -vn"; //so that you can see the commands being executed
foreach ($config['system'] as $l0 => $l0items)
if ($l0 == 'default')
foreach ($l0items as $l1 => $l1items)
foreach ($l1items as $l2 => $l2items)
if (!is_array($l2items)) continue;
foreach ($l2items as $key => $value)
if (in_array("$l1/$l2/$key", $skip))
continue;
$buffer = "bin/magento config:set $l1/$l2/$key";
if (is_string($value))
$buffer .= ' "' . str_replace('"', '"', $value) . '";';
//echo 'nn echo "#'.$i++.' - Setting : ' . $l1.'/'.$l2.'/'.$key.'";nn';
echo "$buffern";
else
continue;
else
foreach ($l0items as $scope => $items)
if (in_array($scope, ['admin', 'default']))
continue;
foreach ($items as $l1 => $l1items)
foreach ($l1items as $l2 => $l2items)
if (!is_array($l2items)) continue;
foreach ($l2items as $key => $value)
if (in_array("$l1/$l2/$key", $skip))
continue;
$buffer = "bin/magento config:set $l1/$l2/$key --scope website --scope-code $scope";
if (is_string($value))
$buffer .= ' "' . str_replace('"', '"', $value) . '";';
//echo 'nnecho "#'.$i++.' - Setting : ' . $l1.'/'.$l2.'/'.$key.' for website ' . $scope .'";nn';
echo "$buffern";
else
continue;
echo "bin/magento setup:upgraden";
echo "bin/magento setup:di:compilen";
echo "bin/magento setup:static-content:deploy -fn";
echo "bin/magento cache:flush confign";
echo "set +vn"; //so that you can see the commands being executed
?>
and then I create a bash script with these contents:
php config-php-to-config-cli.php > cli-config-dev.sh
echo Generated ./cli-config-dev.sh
Oh and here is the config.php file you can use to go back to an unlocked config:
<?php
return [
'modules' => [
'Magento_Store' => 1,
'Magento_Directory' => 1,
'Magento_Theme' => 1,
'Magento_Backend' => 1,
'Magento_Variable' => 1,
'Magento_Eav' => 1,
'Magento_AdminNotification' => 1,
'MSP_ReCaptcha' => 1,
'Magento_Config' => 1,
'Magento_Indexer' => 1,
'Magento_AdvancedPricingImportExport' => 1,
'Magento_Search' => 1,
'Magento_Amqp' => 1,
'Magento_Security' => 1,
'Magento_User' => 1,
'Magento_Authorization' => 1,
'Magento_Customer' => 1,
'Magento_Rule' => 1,
'Magento_Backup' => 1,
'Magento_Cms' => 1,
'Magento_Catalog' => 1,
'Magento_GraphQl' => 1,
'Magento_BundleImportExport' => 1,
'Magento_CatalogRule' => 1,
'Magento_CacheInvalidate' => 1,
'Magento_Quote' => 1,
'Magento_SalesSequence' => 1,
'Magento_Integration' => 1,
'Magento_EavGraphQl' => 1,
'Magento_CatalogImportExport' => 1,
'Magento_Payment' => 1,
'Magento_CatalogInventory' => 1,
'Magento_Cron' => 1,
'Magento_Msrp' => 1,
'Magento_CatalogSearch' => 1,
'Magento_Sales' => 1,
'Magento_Checkout' => 1,
'Magento_CatalogUrlRewrite' => 1,
'Magento_CatalogUrlRewriteGraphQl' => 1,
'Magento_Widget' => 1,
'Magento_Vault' => 1,
'Magento_CheckoutAgreements' => 1,
'Magento_Paypal' => 1,
'Magento_CmsGraphQl' => 1,
'Magento_Downloadable' => 1,
'Magento_CmsUrlRewrite' => 1,
'Magento_CmsUrlRewriteGraphQl' => 1,
'MSP_TwoFactorAuth' => 1,
'Magento_ConfigurableImportExport' => 1,
'Magento_UrlRewrite' => 1,
'Magento_StoreGraphQl' => 1,
'Magento_ConfigurableProduct' => 1,
'Magento_GroupedProduct' => 1,
'Magento_Contact' => 1,
'Magento_Cookie' => 1,
'Magento_Email' => 1,
'Magento_CurrencySymbol' => 1,
'Klarna_Core' => 1,
'Magento_Analytics' => 1,
'Magento_CustomerGraphQl' => 1,
'Magento_CustomerImportExport' => 1,
'Magento_SampleData' => 1,
'Magento_Deploy' => 1,
'Magento_Developer' => 1,
'Magento_Dhl' => 1,
'Amazon_Core' => 1,
'Magento_Tax' => 1,
'Magento_CatalogGraphQl' => 1,
'Magento_ImportExport' => 1,
'Magento_Weee' => 1,
'Magento_Authorizenet' => 1,
'Magento_BundleGraphQl' => 1,
'Magento_AdvancedSearch' => 1,
'Magento_Newsletter' => 1,
'Magento_EncryptionKey' => 1,
'Magento_Fedex' => 1,
'Magento_GiftMessage' => 1,
'Magento_GoogleAdwords' => 1,
'Magento_GoogleAnalytics' => 1,
'Magento_Ui' => 1,
'Magento_ConfigurableProductGraphQl' => 1,
'Magento_GroupedImportExport' => 1,
'Magento_CatalogRuleConfigurable' => 1,
'Magento_GroupedProductGraphQl' => 1,
'Magento_CatalogSampleData' => 1,
'Magento_DownloadableImportExport' => 1,
'Magento_Braintree' => 1,
'Magento_InstantPurchase' => 1,
'Magento_CatalogAnalytics' => 1,
'Magento_Inventory' => 1,
'Magento_InventoryAdminUi' => 1,
'Magento_InventoryApi' => 1,
'Magento_InventoryBundleProduct' => 1,
'Magento_InventoryBundleProductAdminUi' => 1,
'Magento_InventoryCatalog' => 1,
'Magento_InventorySales' => 1,
'Magento_InventoryCatalogAdminUi' => 1,
'Magento_InventoryCatalogApi' => 1,
'Magento_InventoryCatalogSearch' => 1,
'Magento_InventoryConfigurableProduct' => 1,
'Magento_InventoryConfigurableProductAdminUi' => 1,
'Magento_InventoryConfigurableProductIndexer' => 1,
'Magento_InventoryConfiguration' => 1,
'Magento_InventoryConfigurationApi' => 1,
'Magento_InventoryDistanceBasedSourceSelection' => 1,
'Magento_InventoryDistanceBasedSourceSelectionAdminUi' => 1,
'Magento_InventoryDistanceBasedSourceSelectionApi' => 1,
'Magento_InventoryElasticsearch' => 1,
'Magento_InventoryGroupedProduct' => 1,
'Magento_InventoryGroupedProductAdminUi' => 1,
'Magento_InventoryGroupedProductIndexer' => 1,
'Magento_InventoryImportExport' => 1,
'Magento_InventoryIndexer' => 1,
'Magento_InventoryLowQuantityNotification' => 1,
'Magento_InventoryLowQuantityNotificationAdminUi' => 1,
'Magento_InventoryLowQuantityNotificationApi' => 1,
'Magento_InventoryMultiDimensionalIndexerApi' => 1,
'Magento_InventoryProductAlert' => 1,
'Magento_InventoryReservations' => 1,
'Magento_InventoryReservationsApi' => 1,
'Magento_InventoryCache' => 1,
'Magento_InventorySalesAdminUi' => 1,
'Magento_InventorySalesApi' => 1,
'Magento_InventorySalesFrontendUi' => 1,
'Magento_InventorySetupFixtureGenerator' => 0,
'Magento_InventoryShipping' => 1,
'Magento_Shipping' => 1,
'Magento_InventorySourceDeductionApi' => 1,
'Magento_InventorySourceSelection' => 1,
'Magento_InventorySourceSelectionApi' => 1,
'Magento_LayeredNavigation' => 1,
'Magento_Marketplace' => 1,
'Magento_MediaStorage' => 1,
'Magento_MessageQueue' => 1,
'Magento_GroupedProductSampleData' => 1,
'Magento_MsrpSampleData' => 1,
'Magento_Multishipping' => 1,
'Magento_MysqlMq' => 1,
'Magento_NewRelicReporting' => 1,
'Magento_ProductAlert' => 1,
'Magento_OfflinePayments' => 1,
'Magento_SalesRule' => 1,
'Magento_OfflineShipping' => 1,
'Magento_PageCache' => 1,
'Magento_Captcha' => 1,
'Klarna_Ordermanagement' => 1,
'Magento_Persistent' => 1,
'Magento_Reports' => 1,
'Magento_Bundle' => 1,
'Magento_ProductVideo' => 1,
'Amazon_Login' => 1,
'Magento_QuoteAnalytics' => 1,
'Magento_QuoteGraphQl' => 1,
'Magento_ReleaseNotification' => 1,
'Magento_Review' => 1,
'Magento_RequireJs' => 1,
'Magento_SendFriend' => 1,
'Magento_ReviewAnalytics' => 1,
'Magento_BundleSampleData' => 1,
'Magento_Robots' => 1,
'Magento_Rss' => 1,
'Magento_ThemeSampleData' => 1,
'Amazon_Payment' => 1,
'Magento_SalesAnalytics' => 1,
'Magento_SalesInventory' => 1,
'Magento_OfflineShippingSampleData' => 1,
'Magento_DownloadableSampleData' => 1,
'Magento_TaxSampleData' => 1,
'Magento_ConfigurableSampleData' => 1,
'Magento_ProductLinksSampleData' => 1,
'Magento_Elasticsearch' => 1,
'Magento_CustomerAnalytics' => 1,
'Magento_Wishlist' => 1,
'Magento_InventoryShippingAdminUi' => 1,
'Magento_Signifyd' => 1,
'Magento_Sitemap' => 1,
'Magento_CatalogInventoryGraphQl' => 1,
'Magento_DownloadableGraphQl' => 1,
'Magento_Webapi' => 1,
'Magento_SwaggerWebapi' => 1,
'Magento_SwaggerWebapiAsync' => 1,
'Magento_Swatches' => 1,
'Magento_SwatchesGraphQl' => 1,
'Magento_SwatchesLayeredNavigation' => 1,
'Magento_SwatchesSampleData' => 1,
'Magento_ReviewSampleData' => 1,
'Magento_TaxGraphQl' => 1,
'Magento_TaxImportExport' => 1,
'Magento_CustomerSampleData' => 1,
'Magento_TestModuleAsyncAmqp' => 1,
'Magento_TestModuleDirectoryZipCodes' => 1,
'Magento_TestModuleExtensionAttributes' => 1,
'Magento_TestModuleFakePaymentMethod' => 1,
'Magento_TestModuleMessageQueueConfigOverride' => 1,
'Magento_TestModuleMessageQueueConfiguration' => 1,
'Magento_TestModuleSample' => 1,
'Magento_TestModuleSynchronousAmqp' => 1,
'Magento_TestModuleWysiwygConfig' => 1,
'Magento_ConfigurableProductSales' => 1,
'Magento_CmsSampleData' => 1,
'Magento_Tinymce3' => 1,
'Magento_Translation' => 1,
'Magento_GoogleOptimizer' => 1,
'Magento_Ups' => 1,
'Magento_SalesSampleData' => 1,
'Magento_UrlRewriteGraphQl' => 1,
'Magento_AsynchronousOperations' => 1,
'Magento_Usps' => 1,
'Magento_CatalogRuleSampleData' => 1,
'Klarna_Kp' => 1,
'Magento_Version' => 1,
'Magento_Swagger' => 1,
'Magento_WebapiAsync' => 1,
'Magento_WebapiSecurity' => 1,
'Magento_SalesRuleSampleData' => 1,
'Magento_WeeeGraphQl' => 1,
'Magento_CatalogWidget' => 1,
'Magento_WidgetSampleData' => 1,
'Dotdigitalgroup_Email' => 1,
'Magento_WishlistAnalytics' => 1,
'Magento_WishlistSampleData' => 1,
'Temando_Shipping' => 1,
'Vertex_Tax' => 1
]
];
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "479"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f196912%2fappconfigdump-locks-everything-in-configuration%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
5 Answers
5
active
oldest
votes
5 Answers
5
active
oldest
votes
active
oldest
votes
active
oldest
votes
I also do not think that dumping all settings is a good idea, so I created this PR to be able to skip dumping the whole core_config_data:
- https://github.com/magento/magento2/pull/12410
As I mention on the PR, the right way to manage core_config_data settings into config.php should be manually and not using any dump system. That is because those settings should be not more than a few and developers know which ones are needed.
The dump still makes sense for scopes and themes as in that case we need all settings for those scopes inside config.php
That said, until the PR gets accepted, if it ever does... We accomplish the same by adding the following in our projects:
module.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
<module name="VendorName_ModuleName" setup_version="0.0.1" >
<sequence>
<module name="Magento_Config"/>
</sequence>
</module>
</config>
di.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<virtualType name="skipDumpSystemSource" type="MagentoConfigAppConfigSourceDumpConfigSourceAggregated">
<arguments>
<argument name="sources" xsi:type="array">
</argument>
<argument name="rules" xsi:type="array">
</argument>
</arguments>
</virtualType>
<type name="MagentoDeployConsoleCommandAppApplicationDumpCommand">
<arguments>
<argument name="sources" xsi:type="array">
<item name="system" xsi:type="array">
<item name="source" xsi:type="object">skipDumpSystemSource</item>
<item name="namespace" xsi:type="string">skipSystem</item>
<item name="comment" xsi:type="string"></item>
</item>
<item name="system_env" xsi:type="array">
<item name="source" xsi:type="object">skipDumpSystemSource</item>
<item name="namespace" xsi:type="string">skipSystem</item>
</item>
</argument>
</arguments>
</type>
</config>
These configuration will skip the dump for all core_config_data settings while keeping any system configuration already existing in config.php and env.php
Another option:
If that does not work for you and you still want to specify which core_config_data should be dumped automatically, you can check this gist code:
- magento2-config-dump-only-specific.php
That code allows you to specify which config settings to dump into config.php like that:
<!-- any di.xml -->
<type name="VendorNameModuleNameModelConfigTypeTypeConfigPool">
<arguments>
<argument name="includeInConfigPhp" xsi:type="array">
<item name="dev/js/merge_files" xsi:type="string">1</item>
<item name="dev/css/merge_css_files" xsi:type="string">1</item>
<item name="dev/static/sign" xsi:type="string">1</item>
</argument>
</arguments>
</type>
All this can be done now in Magento 2.3, using the cli.
– J. M. Becker
Jan 6 at 20:47
add a comment |
I also do not think that dumping all settings is a good idea, so I created this PR to be able to skip dumping the whole core_config_data:
- https://github.com/magento/magento2/pull/12410
As I mention on the PR, the right way to manage core_config_data settings into config.php should be manually and not using any dump system. That is because those settings should be not more than a few and developers know which ones are needed.
The dump still makes sense for scopes and themes as in that case we need all settings for those scopes inside config.php
That said, until the PR gets accepted, if it ever does... We accomplish the same by adding the following in our projects:
module.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
<module name="VendorName_ModuleName" setup_version="0.0.1" >
<sequence>
<module name="Magento_Config"/>
</sequence>
</module>
</config>
di.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<virtualType name="skipDumpSystemSource" type="MagentoConfigAppConfigSourceDumpConfigSourceAggregated">
<arguments>
<argument name="sources" xsi:type="array">
</argument>
<argument name="rules" xsi:type="array">
</argument>
</arguments>
</virtualType>
<type name="MagentoDeployConsoleCommandAppApplicationDumpCommand">
<arguments>
<argument name="sources" xsi:type="array">
<item name="system" xsi:type="array">
<item name="source" xsi:type="object">skipDumpSystemSource</item>
<item name="namespace" xsi:type="string">skipSystem</item>
<item name="comment" xsi:type="string"></item>
</item>
<item name="system_env" xsi:type="array">
<item name="source" xsi:type="object">skipDumpSystemSource</item>
<item name="namespace" xsi:type="string">skipSystem</item>
</item>
</argument>
</arguments>
</type>
</config>
These configuration will skip the dump for all core_config_data settings while keeping any system configuration already existing in config.php and env.php
Another option:
If that does not work for you and you still want to specify which core_config_data should be dumped automatically, you can check this gist code:
- magento2-config-dump-only-specific.php
That code allows you to specify which config settings to dump into config.php like that:
<!-- any di.xml -->
<type name="VendorNameModuleNameModelConfigTypeTypeConfigPool">
<arguments>
<argument name="includeInConfigPhp" xsi:type="array">
<item name="dev/js/merge_files" xsi:type="string">1</item>
<item name="dev/css/merge_css_files" xsi:type="string">1</item>
<item name="dev/static/sign" xsi:type="string">1</item>
</argument>
</arguments>
</type>
All this can be done now in Magento 2.3, using the cli.
– J. M. Becker
Jan 6 at 20:47
add a comment |
I also do not think that dumping all settings is a good idea, so I created this PR to be able to skip dumping the whole core_config_data:
- https://github.com/magento/magento2/pull/12410
As I mention on the PR, the right way to manage core_config_data settings into config.php should be manually and not using any dump system. That is because those settings should be not more than a few and developers know which ones are needed.
The dump still makes sense for scopes and themes as in that case we need all settings for those scopes inside config.php
That said, until the PR gets accepted, if it ever does... We accomplish the same by adding the following in our projects:
module.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
<module name="VendorName_ModuleName" setup_version="0.0.1" >
<sequence>
<module name="Magento_Config"/>
</sequence>
</module>
</config>
di.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<virtualType name="skipDumpSystemSource" type="MagentoConfigAppConfigSourceDumpConfigSourceAggregated">
<arguments>
<argument name="sources" xsi:type="array">
</argument>
<argument name="rules" xsi:type="array">
</argument>
</arguments>
</virtualType>
<type name="MagentoDeployConsoleCommandAppApplicationDumpCommand">
<arguments>
<argument name="sources" xsi:type="array">
<item name="system" xsi:type="array">
<item name="source" xsi:type="object">skipDumpSystemSource</item>
<item name="namespace" xsi:type="string">skipSystem</item>
<item name="comment" xsi:type="string"></item>
</item>
<item name="system_env" xsi:type="array">
<item name="source" xsi:type="object">skipDumpSystemSource</item>
<item name="namespace" xsi:type="string">skipSystem</item>
</item>
</argument>
</arguments>
</type>
</config>
These configuration will skip the dump for all core_config_data settings while keeping any system configuration already existing in config.php and env.php
Another option:
If that does not work for you and you still want to specify which core_config_data should be dumped automatically, you can check this gist code:
- magento2-config-dump-only-specific.php
That code allows you to specify which config settings to dump into config.php like that:
<!-- any di.xml -->
<type name="VendorNameModuleNameModelConfigTypeTypeConfigPool">
<arguments>
<argument name="includeInConfigPhp" xsi:type="array">
<item name="dev/js/merge_files" xsi:type="string">1</item>
<item name="dev/css/merge_css_files" xsi:type="string">1</item>
<item name="dev/static/sign" xsi:type="string">1</item>
</argument>
</arguments>
</type>
I also do not think that dumping all settings is a good idea, so I created this PR to be able to skip dumping the whole core_config_data:
- https://github.com/magento/magento2/pull/12410
As I mention on the PR, the right way to manage core_config_data settings into config.php should be manually and not using any dump system. That is because those settings should be not more than a few and developers know which ones are needed.
The dump still makes sense for scopes and themes as in that case we need all settings for those scopes inside config.php
That said, until the PR gets accepted, if it ever does... We accomplish the same by adding the following in our projects:
module.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
<module name="VendorName_ModuleName" setup_version="0.0.1" >
<sequence>
<module name="Magento_Config"/>
</sequence>
</module>
</config>
di.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<virtualType name="skipDumpSystemSource" type="MagentoConfigAppConfigSourceDumpConfigSourceAggregated">
<arguments>
<argument name="sources" xsi:type="array">
</argument>
<argument name="rules" xsi:type="array">
</argument>
</arguments>
</virtualType>
<type name="MagentoDeployConsoleCommandAppApplicationDumpCommand">
<arguments>
<argument name="sources" xsi:type="array">
<item name="system" xsi:type="array">
<item name="source" xsi:type="object">skipDumpSystemSource</item>
<item name="namespace" xsi:type="string">skipSystem</item>
<item name="comment" xsi:type="string"></item>
</item>
<item name="system_env" xsi:type="array">
<item name="source" xsi:type="object">skipDumpSystemSource</item>
<item name="namespace" xsi:type="string">skipSystem</item>
</item>
</argument>
</arguments>
</type>
</config>
These configuration will skip the dump for all core_config_data settings while keeping any system configuration already existing in config.php and env.php
Another option:
If that does not work for you and you still want to specify which core_config_data should be dumped automatically, you can check this gist code:
- magento2-config-dump-only-specific.php
That code allows you to specify which config settings to dump into config.php like that:
<!-- any di.xml -->
<type name="VendorNameModuleNameModelConfigTypeTypeConfigPool">
<arguments>
<argument name="includeInConfigPhp" xsi:type="array">
<item name="dev/js/merge_files" xsi:type="string">1</item>
<item name="dev/css/merge_css_files" xsi:type="string">1</item>
<item name="dev/static/sign" xsi:type="string">1</item>
</argument>
</arguments>
</type>
answered Nov 22 '17 at 23:30
JalogutJalogut
500310
500310
All this can be done now in Magento 2.3, using the cli.
– J. M. Becker
Jan 6 at 20:47
add a comment |
All this can be done now in Magento 2.3, using the cli.
– J. M. Becker
Jan 6 at 20:47
All this can be done now in Magento 2.3, using the cli.
– J. M. Becker
Jan 6 at 20:47
All this can be done now in Magento 2.3, using the cli.
– J. M. Becker
Jan 6 at 20:47
add a comment |
This is by design. Any configuration contained in config files will be locked in the Admin Panel. The recommendation is to make all needed configuration updates on your system before using the app:config:dump command as documented in the recommended pipeline deployment workflow.
Unfortunately there's not a way to generate only the config needed by static content deploy for now (though you could create your own).
You have two options to edit configuration values after you dump the config:
- remove the needed configuration line from the config file (and then run config:import). This will make it editable in Admin Panel again.
- change the needed config value with the help of
config:set --lockCLI command
Magento cloud have such command magento-cloud:scd-dump on devdocs.magento.com/guides/v2.2/cloud/live/… and it is Recommended. So there should be similar one in Magento CE. May be they will include it in future.
– Gulshan Maurya
Oct 16 '17 at 8:13
1
@gulshanmaurya hopefully it gets included in the future. I created a PR long time ago but it has not been accepted yet. github.com/magento/magento2/pull/12410 In the meantime, I use the solution described in my answer below. It's working really well so far.
– Jalogut
Mar 3 '18 at 13:33
add a comment |
This is by design. Any configuration contained in config files will be locked in the Admin Panel. The recommendation is to make all needed configuration updates on your system before using the app:config:dump command as documented in the recommended pipeline deployment workflow.
Unfortunately there's not a way to generate only the config needed by static content deploy for now (though you could create your own).
You have two options to edit configuration values after you dump the config:
- remove the needed configuration line from the config file (and then run config:import). This will make it editable in Admin Panel again.
- change the needed config value with the help of
config:set --lockCLI command
Magento cloud have such command magento-cloud:scd-dump on devdocs.magento.com/guides/v2.2/cloud/live/… and it is Recommended. So there should be similar one in Magento CE. May be they will include it in future.
– Gulshan Maurya
Oct 16 '17 at 8:13
1
@gulshanmaurya hopefully it gets included in the future. I created a PR long time ago but it has not been accepted yet. github.com/magento/magento2/pull/12410 In the meantime, I use the solution described in my answer below. It's working really well so far.
– Jalogut
Mar 3 '18 at 13:33
add a comment |
This is by design. Any configuration contained in config files will be locked in the Admin Panel. The recommendation is to make all needed configuration updates on your system before using the app:config:dump command as documented in the recommended pipeline deployment workflow.
Unfortunately there's not a way to generate only the config needed by static content deploy for now (though you could create your own).
You have two options to edit configuration values after you dump the config:
- remove the needed configuration line from the config file (and then run config:import). This will make it editable in Admin Panel again.
- change the needed config value with the help of
config:set --lockCLI command
This is by design. Any configuration contained in config files will be locked in the Admin Panel. The recommendation is to make all needed configuration updates on your system before using the app:config:dump command as documented in the recommended pipeline deployment workflow.
Unfortunately there's not a way to generate only the config needed by static content deploy for now (though you could create your own).
You have two options to edit configuration values after you dump the config:
- remove the needed configuration line from the config file (and then run config:import). This will make it editable in Admin Panel again.
- change the needed config value with the help of
config:set --lockCLI command
answered Oct 12 '17 at 15:52
mkotovmkotov
35625
35625
Magento cloud have such command magento-cloud:scd-dump on devdocs.magento.com/guides/v2.2/cloud/live/… and it is Recommended. So there should be similar one in Magento CE. May be they will include it in future.
– Gulshan Maurya
Oct 16 '17 at 8:13
1
@gulshanmaurya hopefully it gets included in the future. I created a PR long time ago but it has not been accepted yet. github.com/magento/magento2/pull/12410 In the meantime, I use the solution described in my answer below. It's working really well so far.
– Jalogut
Mar 3 '18 at 13:33
add a comment |
Magento cloud have such command magento-cloud:scd-dump on devdocs.magento.com/guides/v2.2/cloud/live/… and it is Recommended. So there should be similar one in Magento CE. May be they will include it in future.
– Gulshan Maurya
Oct 16 '17 at 8:13
1
@gulshanmaurya hopefully it gets included in the future. I created a PR long time ago but it has not been accepted yet. github.com/magento/magento2/pull/12410 In the meantime, I use the solution described in my answer below. It's working really well so far.
– Jalogut
Mar 3 '18 at 13:33
Magento cloud have such command magento-cloud:scd-dump on devdocs.magento.com/guides/v2.2/cloud/live/… and it is Recommended. So there should be similar one in Magento CE. May be they will include it in future.
– Gulshan Maurya
Oct 16 '17 at 8:13
Magento cloud have such command magento-cloud:scd-dump on devdocs.magento.com/guides/v2.2/cloud/live/… and it is Recommended. So there should be similar one in Magento CE. May be they will include it in future.
– Gulshan Maurya
Oct 16 '17 at 8:13
1
1
@gulshanmaurya hopefully it gets included in the future. I created a PR long time ago but it has not been accepted yet. github.com/magento/magento2/pull/12410 In the meantime, I use the solution described in my answer below. It's working really well so far.
– Jalogut
Mar 3 '18 at 13:33
@gulshanmaurya hopefully it gets included in the future. I created a PR long time ago but it has not been accepted yet. github.com/magento/magento2/pull/12410 In the meantime, I use the solution described in my answer below. It's working really well so far.
– Jalogut
Mar 3 '18 at 13:33
add a comment |
If you absolutely MUST unlock all configuration as I had to do, there is a way but it's quite tedious and time consuming.
As this can be dangerous it goes without saying you should backup your database before undertaking this process.
- Dump all current config
php bin/magento app:config:dumpand make a backup of this file - you'll need it later Remove all config from
app/etc/config.php, but leave some stuff in, like in this example: https://pastebin.com/XKxM08q1Go to your database and run
SELECT flag_data FROM flag WHERE flag_code = 'system_config_snapshot';This will return a long JSON. Try validating it using an online tool.It's likely that validation will fail since the column's
flag_datatype isTEXT(as per 2.2.3) which can only take 65k characters and the value might be trimmed. In my case the JSON ended like... "email":"something@something.com","ident_sales":"email":"something@something.com","ident_supporwhich is obviosusly invalid so I changed it to... "email":"sersomething@something.com","ident_support":}}}}.Change the column type to
MEDIUMTEXTorLONGTEXTTry fixing the likely invalid JSON and replace the value of
system_config_snapshotRun
php bin/magento app:config:importand pray it'll "import" (in this case unlock) all configuration- If all goes well your configuration should be unlocked and empty/default. This is why we dumped the config in step 1
- Create a custom script that will parse the dumped
config.phpfile. You can get the code here https://pastebin.com/rhYGxeiL - Run the script in your browser. It will only output a list of commands that you can later put in a
.shscript. - Adjust the script to your needs. This was sufficient for my scenario but you might need to tweak it a bit.
Script output should be something like this:
echo "#0 - Setting : design/pagination/list_allow_all";
bin/magento config:set design/pagination/list_allow_all "1";
echo "#1 - Setting : design/pagination/pagination_frame";
bin/magento config:set design/pagination/pagination_frame "5";
echo "#2 - Setting : design/head/default_title";
bin/magento config:set design/head/default_title "Site title";
echo "#3 - Setting : design/head/default_media_type";
bin/magento config:set design/head/default_media_type "text/html";
echo "#4 - Setting : design/head/default_charset";
bin/magento config:set design/head/default_charset "utf-8";
echo "#5 - Setting : design/head/demonotice";
bin/magento config:set design/head/demonotice "0";
echo "#6 - Setting : design/head/shortcut_icon";
bin/magento config:set design/head/shortcut_icon "default/favicon.ico";
echo "#7 - Setting : design/search_engine_robots/default_robots";
bin/magento config:set design/search_engine_robots/default_robots "INDEX,FOLLOW";
echo "#8 - Setting : design/search_engine_robots/default_custom_instructions";
bin/magento config:set design/search_engine_robots/default_custom_instructions "
User-agent: *
Disallow: /index.php/
Disallow: /*?
Disallow: /checkout/
Disallow: /app/
Disallow: /lib/
Disallow: /*.php$
Disallow: /pkginfo/
Disallow: /report/
Disallow: /var/
Disallow: /catalog/
Disallow: /customer/
Disallow: /sendfriend/
Disallow: /review/
Disallow: /*SID=
";
echo #[n] - Setting [path] is there just so you can see what's going on later in the console. Note the multiline value for design/search_engine_robots/default_custom_instructions -> this is fine.
Once you confirm everything is OK you can put the entire output inside a .sh file, e.g. config_import.sh on your server and run it sh config_import.sh and watch the configuration import. It can (will) take some time so be patient.
Bottom line: if you aren't absolutely sure you'll use the pipeline deployment as per documentation, do not lock the configuration :)
Good luck
add a comment |
If you absolutely MUST unlock all configuration as I had to do, there is a way but it's quite tedious and time consuming.
As this can be dangerous it goes without saying you should backup your database before undertaking this process.
- Dump all current config
php bin/magento app:config:dumpand make a backup of this file - you'll need it later Remove all config from
app/etc/config.php, but leave some stuff in, like in this example: https://pastebin.com/XKxM08q1Go to your database and run
SELECT flag_data FROM flag WHERE flag_code = 'system_config_snapshot';This will return a long JSON. Try validating it using an online tool.It's likely that validation will fail since the column's
flag_datatype isTEXT(as per 2.2.3) which can only take 65k characters and the value might be trimmed. In my case the JSON ended like... "email":"something@something.com","ident_sales":"email":"something@something.com","ident_supporwhich is obviosusly invalid so I changed it to... "email":"sersomething@something.com","ident_support":}}}}.Change the column type to
MEDIUMTEXTorLONGTEXTTry fixing the likely invalid JSON and replace the value of
system_config_snapshotRun
php bin/magento app:config:importand pray it'll "import" (in this case unlock) all configuration- If all goes well your configuration should be unlocked and empty/default. This is why we dumped the config in step 1
- Create a custom script that will parse the dumped
config.phpfile. You can get the code here https://pastebin.com/rhYGxeiL - Run the script in your browser. It will only output a list of commands that you can later put in a
.shscript. - Adjust the script to your needs. This was sufficient for my scenario but you might need to tweak it a bit.
Script output should be something like this:
echo "#0 - Setting : design/pagination/list_allow_all";
bin/magento config:set design/pagination/list_allow_all "1";
echo "#1 - Setting : design/pagination/pagination_frame";
bin/magento config:set design/pagination/pagination_frame "5";
echo "#2 - Setting : design/head/default_title";
bin/magento config:set design/head/default_title "Site title";
echo "#3 - Setting : design/head/default_media_type";
bin/magento config:set design/head/default_media_type "text/html";
echo "#4 - Setting : design/head/default_charset";
bin/magento config:set design/head/default_charset "utf-8";
echo "#5 - Setting : design/head/demonotice";
bin/magento config:set design/head/demonotice "0";
echo "#6 - Setting : design/head/shortcut_icon";
bin/magento config:set design/head/shortcut_icon "default/favicon.ico";
echo "#7 - Setting : design/search_engine_robots/default_robots";
bin/magento config:set design/search_engine_robots/default_robots "INDEX,FOLLOW";
echo "#8 - Setting : design/search_engine_robots/default_custom_instructions";
bin/magento config:set design/search_engine_robots/default_custom_instructions "
User-agent: *
Disallow: /index.php/
Disallow: /*?
Disallow: /checkout/
Disallow: /app/
Disallow: /lib/
Disallow: /*.php$
Disallow: /pkginfo/
Disallow: /report/
Disallow: /var/
Disallow: /catalog/
Disallow: /customer/
Disallow: /sendfriend/
Disallow: /review/
Disallow: /*SID=
";
echo #[n] - Setting [path] is there just so you can see what's going on later in the console. Note the multiline value for design/search_engine_robots/default_custom_instructions -> this is fine.
Once you confirm everything is OK you can put the entire output inside a .sh file, e.g. config_import.sh on your server and run it sh config_import.sh and watch the configuration import. It can (will) take some time so be patient.
Bottom line: if you aren't absolutely sure you'll use the pipeline deployment as per documentation, do not lock the configuration :)
Good luck
add a comment |
If you absolutely MUST unlock all configuration as I had to do, there is a way but it's quite tedious and time consuming.
As this can be dangerous it goes without saying you should backup your database before undertaking this process.
- Dump all current config
php bin/magento app:config:dumpand make a backup of this file - you'll need it later Remove all config from
app/etc/config.php, but leave some stuff in, like in this example: https://pastebin.com/XKxM08q1Go to your database and run
SELECT flag_data FROM flag WHERE flag_code = 'system_config_snapshot';This will return a long JSON. Try validating it using an online tool.It's likely that validation will fail since the column's
flag_datatype isTEXT(as per 2.2.3) which can only take 65k characters and the value might be trimmed. In my case the JSON ended like... "email":"something@something.com","ident_sales":"email":"something@something.com","ident_supporwhich is obviosusly invalid so I changed it to... "email":"sersomething@something.com","ident_support":}}}}.Change the column type to
MEDIUMTEXTorLONGTEXTTry fixing the likely invalid JSON and replace the value of
system_config_snapshotRun
php bin/magento app:config:importand pray it'll "import" (in this case unlock) all configuration- If all goes well your configuration should be unlocked and empty/default. This is why we dumped the config in step 1
- Create a custom script that will parse the dumped
config.phpfile. You can get the code here https://pastebin.com/rhYGxeiL - Run the script in your browser. It will only output a list of commands that you can later put in a
.shscript. - Adjust the script to your needs. This was sufficient for my scenario but you might need to tweak it a bit.
Script output should be something like this:
echo "#0 - Setting : design/pagination/list_allow_all";
bin/magento config:set design/pagination/list_allow_all "1";
echo "#1 - Setting : design/pagination/pagination_frame";
bin/magento config:set design/pagination/pagination_frame "5";
echo "#2 - Setting : design/head/default_title";
bin/magento config:set design/head/default_title "Site title";
echo "#3 - Setting : design/head/default_media_type";
bin/magento config:set design/head/default_media_type "text/html";
echo "#4 - Setting : design/head/default_charset";
bin/magento config:set design/head/default_charset "utf-8";
echo "#5 - Setting : design/head/demonotice";
bin/magento config:set design/head/demonotice "0";
echo "#6 - Setting : design/head/shortcut_icon";
bin/magento config:set design/head/shortcut_icon "default/favicon.ico";
echo "#7 - Setting : design/search_engine_robots/default_robots";
bin/magento config:set design/search_engine_robots/default_robots "INDEX,FOLLOW";
echo "#8 - Setting : design/search_engine_robots/default_custom_instructions";
bin/magento config:set design/search_engine_robots/default_custom_instructions "
User-agent: *
Disallow: /index.php/
Disallow: /*?
Disallow: /checkout/
Disallow: /app/
Disallow: /lib/
Disallow: /*.php$
Disallow: /pkginfo/
Disallow: /report/
Disallow: /var/
Disallow: /catalog/
Disallow: /customer/
Disallow: /sendfriend/
Disallow: /review/
Disallow: /*SID=
";
echo #[n] - Setting [path] is there just so you can see what's going on later in the console. Note the multiline value for design/search_engine_robots/default_custom_instructions -> this is fine.
Once you confirm everything is OK you can put the entire output inside a .sh file, e.g. config_import.sh on your server and run it sh config_import.sh and watch the configuration import. It can (will) take some time so be patient.
Bottom line: if you aren't absolutely sure you'll use the pipeline deployment as per documentation, do not lock the configuration :)
Good luck
If you absolutely MUST unlock all configuration as I had to do, there is a way but it's quite tedious and time consuming.
As this can be dangerous it goes without saying you should backup your database before undertaking this process.
- Dump all current config
php bin/magento app:config:dumpand make a backup of this file - you'll need it later Remove all config from
app/etc/config.php, but leave some stuff in, like in this example: https://pastebin.com/XKxM08q1Go to your database and run
SELECT flag_data FROM flag WHERE flag_code = 'system_config_snapshot';This will return a long JSON. Try validating it using an online tool.It's likely that validation will fail since the column's
flag_datatype isTEXT(as per 2.2.3) which can only take 65k characters and the value might be trimmed. In my case the JSON ended like... "email":"something@something.com","ident_sales":"email":"something@something.com","ident_supporwhich is obviosusly invalid so I changed it to... "email":"sersomething@something.com","ident_support":}}}}.Change the column type to
MEDIUMTEXTorLONGTEXTTry fixing the likely invalid JSON and replace the value of
system_config_snapshotRun
php bin/magento app:config:importand pray it'll "import" (in this case unlock) all configuration- If all goes well your configuration should be unlocked and empty/default. This is why we dumped the config in step 1
- Create a custom script that will parse the dumped
config.phpfile. You can get the code here https://pastebin.com/rhYGxeiL - Run the script in your browser. It will only output a list of commands that you can later put in a
.shscript. - Adjust the script to your needs. This was sufficient for my scenario but you might need to tweak it a bit.
Script output should be something like this:
echo "#0 - Setting : design/pagination/list_allow_all";
bin/magento config:set design/pagination/list_allow_all "1";
echo "#1 - Setting : design/pagination/pagination_frame";
bin/magento config:set design/pagination/pagination_frame "5";
echo "#2 - Setting : design/head/default_title";
bin/magento config:set design/head/default_title "Site title";
echo "#3 - Setting : design/head/default_media_type";
bin/magento config:set design/head/default_media_type "text/html";
echo "#4 - Setting : design/head/default_charset";
bin/magento config:set design/head/default_charset "utf-8";
echo "#5 - Setting : design/head/demonotice";
bin/magento config:set design/head/demonotice "0";
echo "#6 - Setting : design/head/shortcut_icon";
bin/magento config:set design/head/shortcut_icon "default/favicon.ico";
echo "#7 - Setting : design/search_engine_robots/default_robots";
bin/magento config:set design/search_engine_robots/default_robots "INDEX,FOLLOW";
echo "#8 - Setting : design/search_engine_robots/default_custom_instructions";
bin/magento config:set design/search_engine_robots/default_custom_instructions "
User-agent: *
Disallow: /index.php/
Disallow: /*?
Disallow: /checkout/
Disallow: /app/
Disallow: /lib/
Disallow: /*.php$
Disallow: /pkginfo/
Disallow: /report/
Disallow: /var/
Disallow: /catalog/
Disallow: /customer/
Disallow: /sendfriend/
Disallow: /review/
Disallow: /*SID=
";
echo #[n] - Setting [path] is there just so you can see what's going on later in the console. Note the multiline value for design/search_engine_robots/default_custom_instructions -> this is fine.
Once you confirm everything is OK you can put the entire output inside a .sh file, e.g. config_import.sh on your server and run it sh config_import.sh and watch the configuration import. It can (will) take some time so be patient.
Bottom line: if you aren't absolutely sure you'll use the pipeline deployment as per documentation, do not lock the configuration :)
Good luck
edited Oct 19 '18 at 7:44
answered Jun 12 '18 at 11:58
ZankarZankar
1436
1436
add a comment |
add a comment |
You need to delete all data from app > etc > config.php except modules array.
After run below commandsetup:upgradesetup:di:compilesetup:static-content:deploy -fcache:flush.
All your system configuration are unlocked and you can change the value of it.
Thanks a lot @himanshu!!It works like a charm!
– Sneha Panchal
Dec 7 '18 at 5:16
add a comment |
You need to delete all data from app > etc > config.php except modules array.
After run below commandsetup:upgradesetup:di:compilesetup:static-content:deploy -fcache:flush.
All your system configuration are unlocked and you can change the value of it.
Thanks a lot @himanshu!!It works like a charm!
– Sneha Panchal
Dec 7 '18 at 5:16
add a comment |
You need to delete all data from app > etc > config.php except modules array.
After run below commandsetup:upgradesetup:di:compilesetup:static-content:deploy -fcache:flush.
All your system configuration are unlocked and you can change the value of it.
You need to delete all data from app > etc > config.php except modules array.
After run below commandsetup:upgradesetup:di:compilesetup:static-content:deploy -fcache:flush.
All your system configuration are unlocked and you can change the value of it.
answered Dec 7 '18 at 5:13
HimanshuHimanshu
992622
992622
Thanks a lot @himanshu!!It works like a charm!
– Sneha Panchal
Dec 7 '18 at 5:16
add a comment |
Thanks a lot @himanshu!!It works like a charm!
– Sneha Panchal
Dec 7 '18 at 5:16
Thanks a lot @himanshu!!It works like a charm!
– Sneha Panchal
Dec 7 '18 at 5:16
Thanks a lot @himanshu!!It works like a charm!
– Sneha Panchal
Dec 7 '18 at 5:16
add a comment |
Here is a slightly modified version of the php script by Zankar above that dumps the config commands to the console instead of in an HTML page.
I create a file called: config-php-to-config-cli.php
<?php
$skip = [
'customer/address_templates/html',
// add any config paths you might want to avoid importing
];
$config = include './mag_configs/dev.config.php'; // this is the dumped config backup
$i = 0;
echo 'cd $mroot';
echo "n";
echo "set -vn"; //so that you can see the commands being executed
foreach ($config['system'] as $l0 => $l0items)
if ($l0 == 'default')
foreach ($l0items as $l1 => $l1items)
foreach ($l1items as $l2 => $l2items)
if (!is_array($l2items)) continue;
foreach ($l2items as $key => $value)
if (in_array("$l1/$l2/$key", $skip))
continue;
$buffer = "bin/magento config:set $l1/$l2/$key";
if (is_string($value))
$buffer .= ' "' . str_replace('"', '"', $value) . '";';
//echo 'nn echo "#'.$i++.' - Setting : ' . $l1.'/'.$l2.'/'.$key.'";nn';
echo "$buffern";
else
continue;
else
foreach ($l0items as $scope => $items)
if (in_array($scope, ['admin', 'default']))
continue;
foreach ($items as $l1 => $l1items)
foreach ($l1items as $l2 => $l2items)
if (!is_array($l2items)) continue;
foreach ($l2items as $key => $value)
if (in_array("$l1/$l2/$key", $skip))
continue;
$buffer = "bin/magento config:set $l1/$l2/$key --scope website --scope-code $scope";
if (is_string($value))
$buffer .= ' "' . str_replace('"', '"', $value) . '";';
//echo 'nnecho "#'.$i++.' - Setting : ' . $l1.'/'.$l2.'/'.$key.' for website ' . $scope .'";nn';
echo "$buffern";
else
continue;
echo "bin/magento setup:upgraden";
echo "bin/magento setup:di:compilen";
echo "bin/magento setup:static-content:deploy -fn";
echo "bin/magento cache:flush confign";
echo "set +vn"; //so that you can see the commands being executed
?>
and then I create a bash script with these contents:
php config-php-to-config-cli.php > cli-config-dev.sh
echo Generated ./cli-config-dev.sh
Oh and here is the config.php file you can use to go back to an unlocked config:
<?php
return [
'modules' => [
'Magento_Store' => 1,
'Magento_Directory' => 1,
'Magento_Theme' => 1,
'Magento_Backend' => 1,
'Magento_Variable' => 1,
'Magento_Eav' => 1,
'Magento_AdminNotification' => 1,
'MSP_ReCaptcha' => 1,
'Magento_Config' => 1,
'Magento_Indexer' => 1,
'Magento_AdvancedPricingImportExport' => 1,
'Magento_Search' => 1,
'Magento_Amqp' => 1,
'Magento_Security' => 1,
'Magento_User' => 1,
'Magento_Authorization' => 1,
'Magento_Customer' => 1,
'Magento_Rule' => 1,
'Magento_Backup' => 1,
'Magento_Cms' => 1,
'Magento_Catalog' => 1,
'Magento_GraphQl' => 1,
'Magento_BundleImportExport' => 1,
'Magento_CatalogRule' => 1,
'Magento_CacheInvalidate' => 1,
'Magento_Quote' => 1,
'Magento_SalesSequence' => 1,
'Magento_Integration' => 1,
'Magento_EavGraphQl' => 1,
'Magento_CatalogImportExport' => 1,
'Magento_Payment' => 1,
'Magento_CatalogInventory' => 1,
'Magento_Cron' => 1,
'Magento_Msrp' => 1,
'Magento_CatalogSearch' => 1,
'Magento_Sales' => 1,
'Magento_Checkout' => 1,
'Magento_CatalogUrlRewrite' => 1,
'Magento_CatalogUrlRewriteGraphQl' => 1,
'Magento_Widget' => 1,
'Magento_Vault' => 1,
'Magento_CheckoutAgreements' => 1,
'Magento_Paypal' => 1,
'Magento_CmsGraphQl' => 1,
'Magento_Downloadable' => 1,
'Magento_CmsUrlRewrite' => 1,
'Magento_CmsUrlRewriteGraphQl' => 1,
'MSP_TwoFactorAuth' => 1,
'Magento_ConfigurableImportExport' => 1,
'Magento_UrlRewrite' => 1,
'Magento_StoreGraphQl' => 1,
'Magento_ConfigurableProduct' => 1,
'Magento_GroupedProduct' => 1,
'Magento_Contact' => 1,
'Magento_Cookie' => 1,
'Magento_Email' => 1,
'Magento_CurrencySymbol' => 1,
'Klarna_Core' => 1,
'Magento_Analytics' => 1,
'Magento_CustomerGraphQl' => 1,
'Magento_CustomerImportExport' => 1,
'Magento_SampleData' => 1,
'Magento_Deploy' => 1,
'Magento_Developer' => 1,
'Magento_Dhl' => 1,
'Amazon_Core' => 1,
'Magento_Tax' => 1,
'Magento_CatalogGraphQl' => 1,
'Magento_ImportExport' => 1,
'Magento_Weee' => 1,
'Magento_Authorizenet' => 1,
'Magento_BundleGraphQl' => 1,
'Magento_AdvancedSearch' => 1,
'Magento_Newsletter' => 1,
'Magento_EncryptionKey' => 1,
'Magento_Fedex' => 1,
'Magento_GiftMessage' => 1,
'Magento_GoogleAdwords' => 1,
'Magento_GoogleAnalytics' => 1,
'Magento_Ui' => 1,
'Magento_ConfigurableProductGraphQl' => 1,
'Magento_GroupedImportExport' => 1,
'Magento_CatalogRuleConfigurable' => 1,
'Magento_GroupedProductGraphQl' => 1,
'Magento_CatalogSampleData' => 1,
'Magento_DownloadableImportExport' => 1,
'Magento_Braintree' => 1,
'Magento_InstantPurchase' => 1,
'Magento_CatalogAnalytics' => 1,
'Magento_Inventory' => 1,
'Magento_InventoryAdminUi' => 1,
'Magento_InventoryApi' => 1,
'Magento_InventoryBundleProduct' => 1,
'Magento_InventoryBundleProductAdminUi' => 1,
'Magento_InventoryCatalog' => 1,
'Magento_InventorySales' => 1,
'Magento_InventoryCatalogAdminUi' => 1,
'Magento_InventoryCatalogApi' => 1,
'Magento_InventoryCatalogSearch' => 1,
'Magento_InventoryConfigurableProduct' => 1,
'Magento_InventoryConfigurableProductAdminUi' => 1,
'Magento_InventoryConfigurableProductIndexer' => 1,
'Magento_InventoryConfiguration' => 1,
'Magento_InventoryConfigurationApi' => 1,
'Magento_InventoryDistanceBasedSourceSelection' => 1,
'Magento_InventoryDistanceBasedSourceSelectionAdminUi' => 1,
'Magento_InventoryDistanceBasedSourceSelectionApi' => 1,
'Magento_InventoryElasticsearch' => 1,
'Magento_InventoryGroupedProduct' => 1,
'Magento_InventoryGroupedProductAdminUi' => 1,
'Magento_InventoryGroupedProductIndexer' => 1,
'Magento_InventoryImportExport' => 1,
'Magento_InventoryIndexer' => 1,
'Magento_InventoryLowQuantityNotification' => 1,
'Magento_InventoryLowQuantityNotificationAdminUi' => 1,
'Magento_InventoryLowQuantityNotificationApi' => 1,
'Magento_InventoryMultiDimensionalIndexerApi' => 1,
'Magento_InventoryProductAlert' => 1,
'Magento_InventoryReservations' => 1,
'Magento_InventoryReservationsApi' => 1,
'Magento_InventoryCache' => 1,
'Magento_InventorySalesAdminUi' => 1,
'Magento_InventorySalesApi' => 1,
'Magento_InventorySalesFrontendUi' => 1,
'Magento_InventorySetupFixtureGenerator' => 0,
'Magento_InventoryShipping' => 1,
'Magento_Shipping' => 1,
'Magento_InventorySourceDeductionApi' => 1,
'Magento_InventorySourceSelection' => 1,
'Magento_InventorySourceSelectionApi' => 1,
'Magento_LayeredNavigation' => 1,
'Magento_Marketplace' => 1,
'Magento_MediaStorage' => 1,
'Magento_MessageQueue' => 1,
'Magento_GroupedProductSampleData' => 1,
'Magento_MsrpSampleData' => 1,
'Magento_Multishipping' => 1,
'Magento_MysqlMq' => 1,
'Magento_NewRelicReporting' => 1,
'Magento_ProductAlert' => 1,
'Magento_OfflinePayments' => 1,
'Magento_SalesRule' => 1,
'Magento_OfflineShipping' => 1,
'Magento_PageCache' => 1,
'Magento_Captcha' => 1,
'Klarna_Ordermanagement' => 1,
'Magento_Persistent' => 1,
'Magento_Reports' => 1,
'Magento_Bundle' => 1,
'Magento_ProductVideo' => 1,
'Amazon_Login' => 1,
'Magento_QuoteAnalytics' => 1,
'Magento_QuoteGraphQl' => 1,
'Magento_ReleaseNotification' => 1,
'Magento_Review' => 1,
'Magento_RequireJs' => 1,
'Magento_SendFriend' => 1,
'Magento_ReviewAnalytics' => 1,
'Magento_BundleSampleData' => 1,
'Magento_Robots' => 1,
'Magento_Rss' => 1,
'Magento_ThemeSampleData' => 1,
'Amazon_Payment' => 1,
'Magento_SalesAnalytics' => 1,
'Magento_SalesInventory' => 1,
'Magento_OfflineShippingSampleData' => 1,
'Magento_DownloadableSampleData' => 1,
'Magento_TaxSampleData' => 1,
'Magento_ConfigurableSampleData' => 1,
'Magento_ProductLinksSampleData' => 1,
'Magento_Elasticsearch' => 1,
'Magento_CustomerAnalytics' => 1,
'Magento_Wishlist' => 1,
'Magento_InventoryShippingAdminUi' => 1,
'Magento_Signifyd' => 1,
'Magento_Sitemap' => 1,
'Magento_CatalogInventoryGraphQl' => 1,
'Magento_DownloadableGraphQl' => 1,
'Magento_Webapi' => 1,
'Magento_SwaggerWebapi' => 1,
'Magento_SwaggerWebapiAsync' => 1,
'Magento_Swatches' => 1,
'Magento_SwatchesGraphQl' => 1,
'Magento_SwatchesLayeredNavigation' => 1,
'Magento_SwatchesSampleData' => 1,
'Magento_ReviewSampleData' => 1,
'Magento_TaxGraphQl' => 1,
'Magento_TaxImportExport' => 1,
'Magento_CustomerSampleData' => 1,
'Magento_TestModuleAsyncAmqp' => 1,
'Magento_TestModuleDirectoryZipCodes' => 1,
'Magento_TestModuleExtensionAttributes' => 1,
'Magento_TestModuleFakePaymentMethod' => 1,
'Magento_TestModuleMessageQueueConfigOverride' => 1,
'Magento_TestModuleMessageQueueConfiguration' => 1,
'Magento_TestModuleSample' => 1,
'Magento_TestModuleSynchronousAmqp' => 1,
'Magento_TestModuleWysiwygConfig' => 1,
'Magento_ConfigurableProductSales' => 1,
'Magento_CmsSampleData' => 1,
'Magento_Tinymce3' => 1,
'Magento_Translation' => 1,
'Magento_GoogleOptimizer' => 1,
'Magento_Ups' => 1,
'Magento_SalesSampleData' => 1,
'Magento_UrlRewriteGraphQl' => 1,
'Magento_AsynchronousOperations' => 1,
'Magento_Usps' => 1,
'Magento_CatalogRuleSampleData' => 1,
'Klarna_Kp' => 1,
'Magento_Version' => 1,
'Magento_Swagger' => 1,
'Magento_WebapiAsync' => 1,
'Magento_WebapiSecurity' => 1,
'Magento_SalesRuleSampleData' => 1,
'Magento_WeeeGraphQl' => 1,
'Magento_CatalogWidget' => 1,
'Magento_WidgetSampleData' => 1,
'Dotdigitalgroup_Email' => 1,
'Magento_WishlistAnalytics' => 1,
'Magento_WishlistSampleData' => 1,
'Temando_Shipping' => 1,
'Vertex_Tax' => 1
]
];
add a comment |
Here is a slightly modified version of the php script by Zankar above that dumps the config commands to the console instead of in an HTML page.
I create a file called: config-php-to-config-cli.php
<?php
$skip = [
'customer/address_templates/html',
// add any config paths you might want to avoid importing
];
$config = include './mag_configs/dev.config.php'; // this is the dumped config backup
$i = 0;
echo 'cd $mroot';
echo "n";
echo "set -vn"; //so that you can see the commands being executed
foreach ($config['system'] as $l0 => $l0items)
if ($l0 == 'default')
foreach ($l0items as $l1 => $l1items)
foreach ($l1items as $l2 => $l2items)
if (!is_array($l2items)) continue;
foreach ($l2items as $key => $value)
if (in_array("$l1/$l2/$key", $skip))
continue;
$buffer = "bin/magento config:set $l1/$l2/$key";
if (is_string($value))
$buffer .= ' "' . str_replace('"', '"', $value) . '";';
//echo 'nn echo "#'.$i++.' - Setting : ' . $l1.'/'.$l2.'/'.$key.'";nn';
echo "$buffern";
else
continue;
else
foreach ($l0items as $scope => $items)
if (in_array($scope, ['admin', 'default']))
continue;
foreach ($items as $l1 => $l1items)
foreach ($l1items as $l2 => $l2items)
if (!is_array($l2items)) continue;
foreach ($l2items as $key => $value)
if (in_array("$l1/$l2/$key", $skip))
continue;
$buffer = "bin/magento config:set $l1/$l2/$key --scope website --scope-code $scope";
if (is_string($value))
$buffer .= ' "' . str_replace('"', '"', $value) . '";';
//echo 'nnecho "#'.$i++.' - Setting : ' . $l1.'/'.$l2.'/'.$key.' for website ' . $scope .'";nn';
echo "$buffern";
else
continue;
echo "bin/magento setup:upgraden";
echo "bin/magento setup:di:compilen";
echo "bin/magento setup:static-content:deploy -fn";
echo "bin/magento cache:flush confign";
echo "set +vn"; //so that you can see the commands being executed
?>
and then I create a bash script with these contents:
php config-php-to-config-cli.php > cli-config-dev.sh
echo Generated ./cli-config-dev.sh
Oh and here is the config.php file you can use to go back to an unlocked config:
<?php
return [
'modules' => [
'Magento_Store' => 1,
'Magento_Directory' => 1,
'Magento_Theme' => 1,
'Magento_Backend' => 1,
'Magento_Variable' => 1,
'Magento_Eav' => 1,
'Magento_AdminNotification' => 1,
'MSP_ReCaptcha' => 1,
'Magento_Config' => 1,
'Magento_Indexer' => 1,
'Magento_AdvancedPricingImportExport' => 1,
'Magento_Search' => 1,
'Magento_Amqp' => 1,
'Magento_Security' => 1,
'Magento_User' => 1,
'Magento_Authorization' => 1,
'Magento_Customer' => 1,
'Magento_Rule' => 1,
'Magento_Backup' => 1,
'Magento_Cms' => 1,
'Magento_Catalog' => 1,
'Magento_GraphQl' => 1,
'Magento_BundleImportExport' => 1,
'Magento_CatalogRule' => 1,
'Magento_CacheInvalidate' => 1,
'Magento_Quote' => 1,
'Magento_SalesSequence' => 1,
'Magento_Integration' => 1,
'Magento_EavGraphQl' => 1,
'Magento_CatalogImportExport' => 1,
'Magento_Payment' => 1,
'Magento_CatalogInventory' => 1,
'Magento_Cron' => 1,
'Magento_Msrp' => 1,
'Magento_CatalogSearch' => 1,
'Magento_Sales' => 1,
'Magento_Checkout' => 1,
'Magento_CatalogUrlRewrite' => 1,
'Magento_CatalogUrlRewriteGraphQl' => 1,
'Magento_Widget' => 1,
'Magento_Vault' => 1,
'Magento_CheckoutAgreements' => 1,
'Magento_Paypal' => 1,
'Magento_CmsGraphQl' => 1,
'Magento_Downloadable' => 1,
'Magento_CmsUrlRewrite' => 1,
'Magento_CmsUrlRewriteGraphQl' => 1,
'MSP_TwoFactorAuth' => 1,
'Magento_ConfigurableImportExport' => 1,
'Magento_UrlRewrite' => 1,
'Magento_StoreGraphQl' => 1,
'Magento_ConfigurableProduct' => 1,
'Magento_GroupedProduct' => 1,
'Magento_Contact' => 1,
'Magento_Cookie' => 1,
'Magento_Email' => 1,
'Magento_CurrencySymbol' => 1,
'Klarna_Core' => 1,
'Magento_Analytics' => 1,
'Magento_CustomerGraphQl' => 1,
'Magento_CustomerImportExport' => 1,
'Magento_SampleData' => 1,
'Magento_Deploy' => 1,
'Magento_Developer' => 1,
'Magento_Dhl' => 1,
'Amazon_Core' => 1,
'Magento_Tax' => 1,
'Magento_CatalogGraphQl' => 1,
'Magento_ImportExport' => 1,
'Magento_Weee' => 1,
'Magento_Authorizenet' => 1,
'Magento_BundleGraphQl' => 1,
'Magento_AdvancedSearch' => 1,
'Magento_Newsletter' => 1,
'Magento_EncryptionKey' => 1,
'Magento_Fedex' => 1,
'Magento_GiftMessage' => 1,
'Magento_GoogleAdwords' => 1,
'Magento_GoogleAnalytics' => 1,
'Magento_Ui' => 1,
'Magento_ConfigurableProductGraphQl' => 1,
'Magento_GroupedImportExport' => 1,
'Magento_CatalogRuleConfigurable' => 1,
'Magento_GroupedProductGraphQl' => 1,
'Magento_CatalogSampleData' => 1,
'Magento_DownloadableImportExport' => 1,
'Magento_Braintree' => 1,
'Magento_InstantPurchase' => 1,
'Magento_CatalogAnalytics' => 1,
'Magento_Inventory' => 1,
'Magento_InventoryAdminUi' => 1,
'Magento_InventoryApi' => 1,
'Magento_InventoryBundleProduct' => 1,
'Magento_InventoryBundleProductAdminUi' => 1,
'Magento_InventoryCatalog' => 1,
'Magento_InventorySales' => 1,
'Magento_InventoryCatalogAdminUi' => 1,
'Magento_InventoryCatalogApi' => 1,
'Magento_InventoryCatalogSearch' => 1,
'Magento_InventoryConfigurableProduct' => 1,
'Magento_InventoryConfigurableProductAdminUi' => 1,
'Magento_InventoryConfigurableProductIndexer' => 1,
'Magento_InventoryConfiguration' => 1,
'Magento_InventoryConfigurationApi' => 1,
'Magento_InventoryDistanceBasedSourceSelection' => 1,
'Magento_InventoryDistanceBasedSourceSelectionAdminUi' => 1,
'Magento_InventoryDistanceBasedSourceSelectionApi' => 1,
'Magento_InventoryElasticsearch' => 1,
'Magento_InventoryGroupedProduct' => 1,
'Magento_InventoryGroupedProductAdminUi' => 1,
'Magento_InventoryGroupedProductIndexer' => 1,
'Magento_InventoryImportExport' => 1,
'Magento_InventoryIndexer' => 1,
'Magento_InventoryLowQuantityNotification' => 1,
'Magento_InventoryLowQuantityNotificationAdminUi' => 1,
'Magento_InventoryLowQuantityNotificationApi' => 1,
'Magento_InventoryMultiDimensionalIndexerApi' => 1,
'Magento_InventoryProductAlert' => 1,
'Magento_InventoryReservations' => 1,
'Magento_InventoryReservationsApi' => 1,
'Magento_InventoryCache' => 1,
'Magento_InventorySalesAdminUi' => 1,
'Magento_InventorySalesApi' => 1,
'Magento_InventorySalesFrontendUi' => 1,
'Magento_InventorySetupFixtureGenerator' => 0,
'Magento_InventoryShipping' => 1,
'Magento_Shipping' => 1,
'Magento_InventorySourceDeductionApi' => 1,
'Magento_InventorySourceSelection' => 1,
'Magento_InventorySourceSelectionApi' => 1,
'Magento_LayeredNavigation' => 1,
'Magento_Marketplace' => 1,
'Magento_MediaStorage' => 1,
'Magento_MessageQueue' => 1,
'Magento_GroupedProductSampleData' => 1,
'Magento_MsrpSampleData' => 1,
'Magento_Multishipping' => 1,
'Magento_MysqlMq' => 1,
'Magento_NewRelicReporting' => 1,
'Magento_ProductAlert' => 1,
'Magento_OfflinePayments' => 1,
'Magento_SalesRule' => 1,
'Magento_OfflineShipping' => 1,
'Magento_PageCache' => 1,
'Magento_Captcha' => 1,
'Klarna_Ordermanagement' => 1,
'Magento_Persistent' => 1,
'Magento_Reports' => 1,
'Magento_Bundle' => 1,
'Magento_ProductVideo' => 1,
'Amazon_Login' => 1,
'Magento_QuoteAnalytics' => 1,
'Magento_QuoteGraphQl' => 1,
'Magento_ReleaseNotification' => 1,
'Magento_Review' => 1,
'Magento_RequireJs' => 1,
'Magento_SendFriend' => 1,
'Magento_ReviewAnalytics' => 1,
'Magento_BundleSampleData' => 1,
'Magento_Robots' => 1,
'Magento_Rss' => 1,
'Magento_ThemeSampleData' => 1,
'Amazon_Payment' => 1,
'Magento_SalesAnalytics' => 1,
'Magento_SalesInventory' => 1,
'Magento_OfflineShippingSampleData' => 1,
'Magento_DownloadableSampleData' => 1,
'Magento_TaxSampleData' => 1,
'Magento_ConfigurableSampleData' => 1,
'Magento_ProductLinksSampleData' => 1,
'Magento_Elasticsearch' => 1,
'Magento_CustomerAnalytics' => 1,
'Magento_Wishlist' => 1,
'Magento_InventoryShippingAdminUi' => 1,
'Magento_Signifyd' => 1,
'Magento_Sitemap' => 1,
'Magento_CatalogInventoryGraphQl' => 1,
'Magento_DownloadableGraphQl' => 1,
'Magento_Webapi' => 1,
'Magento_SwaggerWebapi' => 1,
'Magento_SwaggerWebapiAsync' => 1,
'Magento_Swatches' => 1,
'Magento_SwatchesGraphQl' => 1,
'Magento_SwatchesLayeredNavigation' => 1,
'Magento_SwatchesSampleData' => 1,
'Magento_ReviewSampleData' => 1,
'Magento_TaxGraphQl' => 1,
'Magento_TaxImportExport' => 1,
'Magento_CustomerSampleData' => 1,
'Magento_TestModuleAsyncAmqp' => 1,
'Magento_TestModuleDirectoryZipCodes' => 1,
'Magento_TestModuleExtensionAttributes' => 1,
'Magento_TestModuleFakePaymentMethod' => 1,
'Magento_TestModuleMessageQueueConfigOverride' => 1,
'Magento_TestModuleMessageQueueConfiguration' => 1,
'Magento_TestModuleSample' => 1,
'Magento_TestModuleSynchronousAmqp' => 1,
'Magento_TestModuleWysiwygConfig' => 1,
'Magento_ConfigurableProductSales' => 1,
'Magento_CmsSampleData' => 1,
'Magento_Tinymce3' => 1,
'Magento_Translation' => 1,
'Magento_GoogleOptimizer' => 1,
'Magento_Ups' => 1,
'Magento_SalesSampleData' => 1,
'Magento_UrlRewriteGraphQl' => 1,
'Magento_AsynchronousOperations' => 1,
'Magento_Usps' => 1,
'Magento_CatalogRuleSampleData' => 1,
'Klarna_Kp' => 1,
'Magento_Version' => 1,
'Magento_Swagger' => 1,
'Magento_WebapiAsync' => 1,
'Magento_WebapiSecurity' => 1,
'Magento_SalesRuleSampleData' => 1,
'Magento_WeeeGraphQl' => 1,
'Magento_CatalogWidget' => 1,
'Magento_WidgetSampleData' => 1,
'Dotdigitalgroup_Email' => 1,
'Magento_WishlistAnalytics' => 1,
'Magento_WishlistSampleData' => 1,
'Temando_Shipping' => 1,
'Vertex_Tax' => 1
]
];
add a comment |
Here is a slightly modified version of the php script by Zankar above that dumps the config commands to the console instead of in an HTML page.
I create a file called: config-php-to-config-cli.php
<?php
$skip = [
'customer/address_templates/html',
// add any config paths you might want to avoid importing
];
$config = include './mag_configs/dev.config.php'; // this is the dumped config backup
$i = 0;
echo 'cd $mroot';
echo "n";
echo "set -vn"; //so that you can see the commands being executed
foreach ($config['system'] as $l0 => $l0items)
if ($l0 == 'default')
foreach ($l0items as $l1 => $l1items)
foreach ($l1items as $l2 => $l2items)
if (!is_array($l2items)) continue;
foreach ($l2items as $key => $value)
if (in_array("$l1/$l2/$key", $skip))
continue;
$buffer = "bin/magento config:set $l1/$l2/$key";
if (is_string($value))
$buffer .= ' "' . str_replace('"', '"', $value) . '";';
//echo 'nn echo "#'.$i++.' - Setting : ' . $l1.'/'.$l2.'/'.$key.'";nn';
echo "$buffern";
else
continue;
else
foreach ($l0items as $scope => $items)
if (in_array($scope, ['admin', 'default']))
continue;
foreach ($items as $l1 => $l1items)
foreach ($l1items as $l2 => $l2items)
if (!is_array($l2items)) continue;
foreach ($l2items as $key => $value)
if (in_array("$l1/$l2/$key", $skip))
continue;
$buffer = "bin/magento config:set $l1/$l2/$key --scope website --scope-code $scope";
if (is_string($value))
$buffer .= ' "' . str_replace('"', '"', $value) . '";';
//echo 'nnecho "#'.$i++.' - Setting : ' . $l1.'/'.$l2.'/'.$key.' for website ' . $scope .'";nn';
echo "$buffern";
else
continue;
echo "bin/magento setup:upgraden";
echo "bin/magento setup:di:compilen";
echo "bin/magento setup:static-content:deploy -fn";
echo "bin/magento cache:flush confign";
echo "set +vn"; //so that you can see the commands being executed
?>
and then I create a bash script with these contents:
php config-php-to-config-cli.php > cli-config-dev.sh
echo Generated ./cli-config-dev.sh
Oh and here is the config.php file you can use to go back to an unlocked config:
<?php
return [
'modules' => [
'Magento_Store' => 1,
'Magento_Directory' => 1,
'Magento_Theme' => 1,
'Magento_Backend' => 1,
'Magento_Variable' => 1,
'Magento_Eav' => 1,
'Magento_AdminNotification' => 1,
'MSP_ReCaptcha' => 1,
'Magento_Config' => 1,
'Magento_Indexer' => 1,
'Magento_AdvancedPricingImportExport' => 1,
'Magento_Search' => 1,
'Magento_Amqp' => 1,
'Magento_Security' => 1,
'Magento_User' => 1,
'Magento_Authorization' => 1,
'Magento_Customer' => 1,
'Magento_Rule' => 1,
'Magento_Backup' => 1,
'Magento_Cms' => 1,
'Magento_Catalog' => 1,
'Magento_GraphQl' => 1,
'Magento_BundleImportExport' => 1,
'Magento_CatalogRule' => 1,
'Magento_CacheInvalidate' => 1,
'Magento_Quote' => 1,
'Magento_SalesSequence' => 1,
'Magento_Integration' => 1,
'Magento_EavGraphQl' => 1,
'Magento_CatalogImportExport' => 1,
'Magento_Payment' => 1,
'Magento_CatalogInventory' => 1,
'Magento_Cron' => 1,
'Magento_Msrp' => 1,
'Magento_CatalogSearch' => 1,
'Magento_Sales' => 1,
'Magento_Checkout' => 1,
'Magento_CatalogUrlRewrite' => 1,
'Magento_CatalogUrlRewriteGraphQl' => 1,
'Magento_Widget' => 1,
'Magento_Vault' => 1,
'Magento_CheckoutAgreements' => 1,
'Magento_Paypal' => 1,
'Magento_CmsGraphQl' => 1,
'Magento_Downloadable' => 1,
'Magento_CmsUrlRewrite' => 1,
'Magento_CmsUrlRewriteGraphQl' => 1,
'MSP_TwoFactorAuth' => 1,
'Magento_ConfigurableImportExport' => 1,
'Magento_UrlRewrite' => 1,
'Magento_StoreGraphQl' => 1,
'Magento_ConfigurableProduct' => 1,
'Magento_GroupedProduct' => 1,
'Magento_Contact' => 1,
'Magento_Cookie' => 1,
'Magento_Email' => 1,
'Magento_CurrencySymbol' => 1,
'Klarna_Core' => 1,
'Magento_Analytics' => 1,
'Magento_CustomerGraphQl' => 1,
'Magento_CustomerImportExport' => 1,
'Magento_SampleData' => 1,
'Magento_Deploy' => 1,
'Magento_Developer' => 1,
'Magento_Dhl' => 1,
'Amazon_Core' => 1,
'Magento_Tax' => 1,
'Magento_CatalogGraphQl' => 1,
'Magento_ImportExport' => 1,
'Magento_Weee' => 1,
'Magento_Authorizenet' => 1,
'Magento_BundleGraphQl' => 1,
'Magento_AdvancedSearch' => 1,
'Magento_Newsletter' => 1,
'Magento_EncryptionKey' => 1,
'Magento_Fedex' => 1,
'Magento_GiftMessage' => 1,
'Magento_GoogleAdwords' => 1,
'Magento_GoogleAnalytics' => 1,
'Magento_Ui' => 1,
'Magento_ConfigurableProductGraphQl' => 1,
'Magento_GroupedImportExport' => 1,
'Magento_CatalogRuleConfigurable' => 1,
'Magento_GroupedProductGraphQl' => 1,
'Magento_CatalogSampleData' => 1,
'Magento_DownloadableImportExport' => 1,
'Magento_Braintree' => 1,
'Magento_InstantPurchase' => 1,
'Magento_CatalogAnalytics' => 1,
'Magento_Inventory' => 1,
'Magento_InventoryAdminUi' => 1,
'Magento_InventoryApi' => 1,
'Magento_InventoryBundleProduct' => 1,
'Magento_InventoryBundleProductAdminUi' => 1,
'Magento_InventoryCatalog' => 1,
'Magento_InventorySales' => 1,
'Magento_InventoryCatalogAdminUi' => 1,
'Magento_InventoryCatalogApi' => 1,
'Magento_InventoryCatalogSearch' => 1,
'Magento_InventoryConfigurableProduct' => 1,
'Magento_InventoryConfigurableProductAdminUi' => 1,
'Magento_InventoryConfigurableProductIndexer' => 1,
'Magento_InventoryConfiguration' => 1,
'Magento_InventoryConfigurationApi' => 1,
'Magento_InventoryDistanceBasedSourceSelection' => 1,
'Magento_InventoryDistanceBasedSourceSelectionAdminUi' => 1,
'Magento_InventoryDistanceBasedSourceSelectionApi' => 1,
'Magento_InventoryElasticsearch' => 1,
'Magento_InventoryGroupedProduct' => 1,
'Magento_InventoryGroupedProductAdminUi' => 1,
'Magento_InventoryGroupedProductIndexer' => 1,
'Magento_InventoryImportExport' => 1,
'Magento_InventoryIndexer' => 1,
'Magento_InventoryLowQuantityNotification' => 1,
'Magento_InventoryLowQuantityNotificationAdminUi' => 1,
'Magento_InventoryLowQuantityNotificationApi' => 1,
'Magento_InventoryMultiDimensionalIndexerApi' => 1,
'Magento_InventoryProductAlert' => 1,
'Magento_InventoryReservations' => 1,
'Magento_InventoryReservationsApi' => 1,
'Magento_InventoryCache' => 1,
'Magento_InventorySalesAdminUi' => 1,
'Magento_InventorySalesApi' => 1,
'Magento_InventorySalesFrontendUi' => 1,
'Magento_InventorySetupFixtureGenerator' => 0,
'Magento_InventoryShipping' => 1,
'Magento_Shipping' => 1,
'Magento_InventorySourceDeductionApi' => 1,
'Magento_InventorySourceSelection' => 1,
'Magento_InventorySourceSelectionApi' => 1,
'Magento_LayeredNavigation' => 1,
'Magento_Marketplace' => 1,
'Magento_MediaStorage' => 1,
'Magento_MessageQueue' => 1,
'Magento_GroupedProductSampleData' => 1,
'Magento_MsrpSampleData' => 1,
'Magento_Multishipping' => 1,
'Magento_MysqlMq' => 1,
'Magento_NewRelicReporting' => 1,
'Magento_ProductAlert' => 1,
'Magento_OfflinePayments' => 1,
'Magento_SalesRule' => 1,
'Magento_OfflineShipping' => 1,
'Magento_PageCache' => 1,
'Magento_Captcha' => 1,
'Klarna_Ordermanagement' => 1,
'Magento_Persistent' => 1,
'Magento_Reports' => 1,
'Magento_Bundle' => 1,
'Magento_ProductVideo' => 1,
'Amazon_Login' => 1,
'Magento_QuoteAnalytics' => 1,
'Magento_QuoteGraphQl' => 1,
'Magento_ReleaseNotification' => 1,
'Magento_Review' => 1,
'Magento_RequireJs' => 1,
'Magento_SendFriend' => 1,
'Magento_ReviewAnalytics' => 1,
'Magento_BundleSampleData' => 1,
'Magento_Robots' => 1,
'Magento_Rss' => 1,
'Magento_ThemeSampleData' => 1,
'Amazon_Payment' => 1,
'Magento_SalesAnalytics' => 1,
'Magento_SalesInventory' => 1,
'Magento_OfflineShippingSampleData' => 1,
'Magento_DownloadableSampleData' => 1,
'Magento_TaxSampleData' => 1,
'Magento_ConfigurableSampleData' => 1,
'Magento_ProductLinksSampleData' => 1,
'Magento_Elasticsearch' => 1,
'Magento_CustomerAnalytics' => 1,
'Magento_Wishlist' => 1,
'Magento_InventoryShippingAdminUi' => 1,
'Magento_Signifyd' => 1,
'Magento_Sitemap' => 1,
'Magento_CatalogInventoryGraphQl' => 1,
'Magento_DownloadableGraphQl' => 1,
'Magento_Webapi' => 1,
'Magento_SwaggerWebapi' => 1,
'Magento_SwaggerWebapiAsync' => 1,
'Magento_Swatches' => 1,
'Magento_SwatchesGraphQl' => 1,
'Magento_SwatchesLayeredNavigation' => 1,
'Magento_SwatchesSampleData' => 1,
'Magento_ReviewSampleData' => 1,
'Magento_TaxGraphQl' => 1,
'Magento_TaxImportExport' => 1,
'Magento_CustomerSampleData' => 1,
'Magento_TestModuleAsyncAmqp' => 1,
'Magento_TestModuleDirectoryZipCodes' => 1,
'Magento_TestModuleExtensionAttributes' => 1,
'Magento_TestModuleFakePaymentMethod' => 1,
'Magento_TestModuleMessageQueueConfigOverride' => 1,
'Magento_TestModuleMessageQueueConfiguration' => 1,
'Magento_TestModuleSample' => 1,
'Magento_TestModuleSynchronousAmqp' => 1,
'Magento_TestModuleWysiwygConfig' => 1,
'Magento_ConfigurableProductSales' => 1,
'Magento_CmsSampleData' => 1,
'Magento_Tinymce3' => 1,
'Magento_Translation' => 1,
'Magento_GoogleOptimizer' => 1,
'Magento_Ups' => 1,
'Magento_SalesSampleData' => 1,
'Magento_UrlRewriteGraphQl' => 1,
'Magento_AsynchronousOperations' => 1,
'Magento_Usps' => 1,
'Magento_CatalogRuleSampleData' => 1,
'Klarna_Kp' => 1,
'Magento_Version' => 1,
'Magento_Swagger' => 1,
'Magento_WebapiAsync' => 1,
'Magento_WebapiSecurity' => 1,
'Magento_SalesRuleSampleData' => 1,
'Magento_WeeeGraphQl' => 1,
'Magento_CatalogWidget' => 1,
'Magento_WidgetSampleData' => 1,
'Dotdigitalgroup_Email' => 1,
'Magento_WishlistAnalytics' => 1,
'Magento_WishlistSampleData' => 1,
'Temando_Shipping' => 1,
'Vertex_Tax' => 1
]
];
Here is a slightly modified version of the php script by Zankar above that dumps the config commands to the console instead of in an HTML page.
I create a file called: config-php-to-config-cli.php
<?php
$skip = [
'customer/address_templates/html',
// add any config paths you might want to avoid importing
];
$config = include './mag_configs/dev.config.php'; // this is the dumped config backup
$i = 0;
echo 'cd $mroot';
echo "n";
echo "set -vn"; //so that you can see the commands being executed
foreach ($config['system'] as $l0 => $l0items)
if ($l0 == 'default')
foreach ($l0items as $l1 => $l1items)
foreach ($l1items as $l2 => $l2items)
if (!is_array($l2items)) continue;
foreach ($l2items as $key => $value)
if (in_array("$l1/$l2/$key", $skip))
continue;
$buffer = "bin/magento config:set $l1/$l2/$key";
if (is_string($value))
$buffer .= ' "' . str_replace('"', '"', $value) . '";';
//echo 'nn echo "#'.$i++.' - Setting : ' . $l1.'/'.$l2.'/'.$key.'";nn';
echo "$buffern";
else
continue;
else
foreach ($l0items as $scope => $items)
if (in_array($scope, ['admin', 'default']))
continue;
foreach ($items as $l1 => $l1items)
foreach ($l1items as $l2 => $l2items)
if (!is_array($l2items)) continue;
foreach ($l2items as $key => $value)
if (in_array("$l1/$l2/$key", $skip))
continue;
$buffer = "bin/magento config:set $l1/$l2/$key --scope website --scope-code $scope";
if (is_string($value))
$buffer .= ' "' . str_replace('"', '"', $value) . '";';
//echo 'nnecho "#'.$i++.' - Setting : ' . $l1.'/'.$l2.'/'.$key.' for website ' . $scope .'";nn';
echo "$buffern";
else
continue;
echo "bin/magento setup:upgraden";
echo "bin/magento setup:di:compilen";
echo "bin/magento setup:static-content:deploy -fn";
echo "bin/magento cache:flush confign";
echo "set +vn"; //so that you can see the commands being executed
?>
and then I create a bash script with these contents:
php config-php-to-config-cli.php > cli-config-dev.sh
echo Generated ./cli-config-dev.sh
Oh and here is the config.php file you can use to go back to an unlocked config:
<?php
return [
'modules' => [
'Magento_Store' => 1,
'Magento_Directory' => 1,
'Magento_Theme' => 1,
'Magento_Backend' => 1,
'Magento_Variable' => 1,
'Magento_Eav' => 1,
'Magento_AdminNotification' => 1,
'MSP_ReCaptcha' => 1,
'Magento_Config' => 1,
'Magento_Indexer' => 1,
'Magento_AdvancedPricingImportExport' => 1,
'Magento_Search' => 1,
'Magento_Amqp' => 1,
'Magento_Security' => 1,
'Magento_User' => 1,
'Magento_Authorization' => 1,
'Magento_Customer' => 1,
'Magento_Rule' => 1,
'Magento_Backup' => 1,
'Magento_Cms' => 1,
'Magento_Catalog' => 1,
'Magento_GraphQl' => 1,
'Magento_BundleImportExport' => 1,
'Magento_CatalogRule' => 1,
'Magento_CacheInvalidate' => 1,
'Magento_Quote' => 1,
'Magento_SalesSequence' => 1,
'Magento_Integration' => 1,
'Magento_EavGraphQl' => 1,
'Magento_CatalogImportExport' => 1,
'Magento_Payment' => 1,
'Magento_CatalogInventory' => 1,
'Magento_Cron' => 1,
'Magento_Msrp' => 1,
'Magento_CatalogSearch' => 1,
'Magento_Sales' => 1,
'Magento_Checkout' => 1,
'Magento_CatalogUrlRewrite' => 1,
'Magento_CatalogUrlRewriteGraphQl' => 1,
'Magento_Widget' => 1,
'Magento_Vault' => 1,
'Magento_CheckoutAgreements' => 1,
'Magento_Paypal' => 1,
'Magento_CmsGraphQl' => 1,
'Magento_Downloadable' => 1,
'Magento_CmsUrlRewrite' => 1,
'Magento_CmsUrlRewriteGraphQl' => 1,
'MSP_TwoFactorAuth' => 1,
'Magento_ConfigurableImportExport' => 1,
'Magento_UrlRewrite' => 1,
'Magento_StoreGraphQl' => 1,
'Magento_ConfigurableProduct' => 1,
'Magento_GroupedProduct' => 1,
'Magento_Contact' => 1,
'Magento_Cookie' => 1,
'Magento_Email' => 1,
'Magento_CurrencySymbol' => 1,
'Klarna_Core' => 1,
'Magento_Analytics' => 1,
'Magento_CustomerGraphQl' => 1,
'Magento_CustomerImportExport' => 1,
'Magento_SampleData' => 1,
'Magento_Deploy' => 1,
'Magento_Developer' => 1,
'Magento_Dhl' => 1,
'Amazon_Core' => 1,
'Magento_Tax' => 1,
'Magento_CatalogGraphQl' => 1,
'Magento_ImportExport' => 1,
'Magento_Weee' => 1,
'Magento_Authorizenet' => 1,
'Magento_BundleGraphQl' => 1,
'Magento_AdvancedSearch' => 1,
'Magento_Newsletter' => 1,
'Magento_EncryptionKey' => 1,
'Magento_Fedex' => 1,
'Magento_GiftMessage' => 1,
'Magento_GoogleAdwords' => 1,
'Magento_GoogleAnalytics' => 1,
'Magento_Ui' => 1,
'Magento_ConfigurableProductGraphQl' => 1,
'Magento_GroupedImportExport' => 1,
'Magento_CatalogRuleConfigurable' => 1,
'Magento_GroupedProductGraphQl' => 1,
'Magento_CatalogSampleData' => 1,
'Magento_DownloadableImportExport' => 1,
'Magento_Braintree' => 1,
'Magento_InstantPurchase' => 1,
'Magento_CatalogAnalytics' => 1,
'Magento_Inventory' => 1,
'Magento_InventoryAdminUi' => 1,
'Magento_InventoryApi' => 1,
'Magento_InventoryBundleProduct' => 1,
'Magento_InventoryBundleProductAdminUi' => 1,
'Magento_InventoryCatalog' => 1,
'Magento_InventorySales' => 1,
'Magento_InventoryCatalogAdminUi' => 1,
'Magento_InventoryCatalogApi' => 1,
'Magento_InventoryCatalogSearch' => 1,
'Magento_InventoryConfigurableProduct' => 1,
'Magento_InventoryConfigurableProductAdminUi' => 1,
'Magento_InventoryConfigurableProductIndexer' => 1,
'Magento_InventoryConfiguration' => 1,
'Magento_InventoryConfigurationApi' => 1,
'Magento_InventoryDistanceBasedSourceSelection' => 1,
'Magento_InventoryDistanceBasedSourceSelectionAdminUi' => 1,
'Magento_InventoryDistanceBasedSourceSelectionApi' => 1,
'Magento_InventoryElasticsearch' => 1,
'Magento_InventoryGroupedProduct' => 1,
'Magento_InventoryGroupedProductAdminUi' => 1,
'Magento_InventoryGroupedProductIndexer' => 1,
'Magento_InventoryImportExport' => 1,
'Magento_InventoryIndexer' => 1,
'Magento_InventoryLowQuantityNotification' => 1,
'Magento_InventoryLowQuantityNotificationAdminUi' => 1,
'Magento_InventoryLowQuantityNotificationApi' => 1,
'Magento_InventoryMultiDimensionalIndexerApi' => 1,
'Magento_InventoryProductAlert' => 1,
'Magento_InventoryReservations' => 1,
'Magento_InventoryReservationsApi' => 1,
'Magento_InventoryCache' => 1,
'Magento_InventorySalesAdminUi' => 1,
'Magento_InventorySalesApi' => 1,
'Magento_InventorySalesFrontendUi' => 1,
'Magento_InventorySetupFixtureGenerator' => 0,
'Magento_InventoryShipping' => 1,
'Magento_Shipping' => 1,
'Magento_InventorySourceDeductionApi' => 1,
'Magento_InventorySourceSelection' => 1,
'Magento_InventorySourceSelectionApi' => 1,
'Magento_LayeredNavigation' => 1,
'Magento_Marketplace' => 1,
'Magento_MediaStorage' => 1,
'Magento_MessageQueue' => 1,
'Magento_GroupedProductSampleData' => 1,
'Magento_MsrpSampleData' => 1,
'Magento_Multishipping' => 1,
'Magento_MysqlMq' => 1,
'Magento_NewRelicReporting' => 1,
'Magento_ProductAlert' => 1,
'Magento_OfflinePayments' => 1,
'Magento_SalesRule' => 1,
'Magento_OfflineShipping' => 1,
'Magento_PageCache' => 1,
'Magento_Captcha' => 1,
'Klarna_Ordermanagement' => 1,
'Magento_Persistent' => 1,
'Magento_Reports' => 1,
'Magento_Bundle' => 1,
'Magento_ProductVideo' => 1,
'Amazon_Login' => 1,
'Magento_QuoteAnalytics' => 1,
'Magento_QuoteGraphQl' => 1,
'Magento_ReleaseNotification' => 1,
'Magento_Review' => 1,
'Magento_RequireJs' => 1,
'Magento_SendFriend' => 1,
'Magento_ReviewAnalytics' => 1,
'Magento_BundleSampleData' => 1,
'Magento_Robots' => 1,
'Magento_Rss' => 1,
'Magento_ThemeSampleData' => 1,
'Amazon_Payment' => 1,
'Magento_SalesAnalytics' => 1,
'Magento_SalesInventory' => 1,
'Magento_OfflineShippingSampleData' => 1,
'Magento_DownloadableSampleData' => 1,
'Magento_TaxSampleData' => 1,
'Magento_ConfigurableSampleData' => 1,
'Magento_ProductLinksSampleData' => 1,
'Magento_Elasticsearch' => 1,
'Magento_CustomerAnalytics' => 1,
'Magento_Wishlist' => 1,
'Magento_InventoryShippingAdminUi' => 1,
'Magento_Signifyd' => 1,
'Magento_Sitemap' => 1,
'Magento_CatalogInventoryGraphQl' => 1,
'Magento_DownloadableGraphQl' => 1,
'Magento_Webapi' => 1,
'Magento_SwaggerWebapi' => 1,
'Magento_SwaggerWebapiAsync' => 1,
'Magento_Swatches' => 1,
'Magento_SwatchesGraphQl' => 1,
'Magento_SwatchesLayeredNavigation' => 1,
'Magento_SwatchesSampleData' => 1,
'Magento_ReviewSampleData' => 1,
'Magento_TaxGraphQl' => 1,
'Magento_TaxImportExport' => 1,
'Magento_CustomerSampleData' => 1,
'Magento_TestModuleAsyncAmqp' => 1,
'Magento_TestModuleDirectoryZipCodes' => 1,
'Magento_TestModuleExtensionAttributes' => 1,
'Magento_TestModuleFakePaymentMethod' => 1,
'Magento_TestModuleMessageQueueConfigOverride' => 1,
'Magento_TestModuleMessageQueueConfiguration' => 1,
'Magento_TestModuleSample' => 1,
'Magento_TestModuleSynchronousAmqp' => 1,
'Magento_TestModuleWysiwygConfig' => 1,
'Magento_ConfigurableProductSales' => 1,
'Magento_CmsSampleData' => 1,
'Magento_Tinymce3' => 1,
'Magento_Translation' => 1,
'Magento_GoogleOptimizer' => 1,
'Magento_Ups' => 1,
'Magento_SalesSampleData' => 1,
'Magento_UrlRewriteGraphQl' => 1,
'Magento_AsynchronousOperations' => 1,
'Magento_Usps' => 1,
'Magento_CatalogRuleSampleData' => 1,
'Klarna_Kp' => 1,
'Magento_Version' => 1,
'Magento_Swagger' => 1,
'Magento_WebapiAsync' => 1,
'Magento_WebapiSecurity' => 1,
'Magento_SalesRuleSampleData' => 1,
'Magento_WeeeGraphQl' => 1,
'Magento_CatalogWidget' => 1,
'Magento_WidgetSampleData' => 1,
'Dotdigitalgroup_Email' => 1,
'Magento_WishlistAnalytics' => 1,
'Magento_WishlistSampleData' => 1,
'Temando_Shipping' => 1,
'Vertex_Tax' => 1
]
];
answered 5 mins ago
Patrick SteilPatrick Steil
62
62
add a comment |
add a comment |
Thanks for contributing an answer to Magento Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f196912%2fappconfigdump-locks-everything-in-configuration%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown