Unable to apply patch Magento\InventorySales\Setup\Patch\Schema\InitializeWebsiteDefaultSock
-
14-04-2021 - |
Question
When running a fresh install I am presented with this error. This is using the lastest composer package, as per the Magento docs.
[Progress: 113 / 1106]
Module 'Magento_InventorySales':
In PatchApplier.php line 247:
Unable to apply patch Magento\InventorySales\Setup\Patch\Schema\InitializeW
ebsiteDefaultSock for module Magento_InventorySales. Original exception mes
sage: The default website isn't defined. Set the website and try again.
The install command I am using is:
php bin/magento setup:install --base-url='https://YYY.mdoq.io/' --db-host='****' --db-name='magento' --db-user='magento' --db-password='****' --admin-firstname='Admin' --admin-lastname='Admin' --admin-email='admin' --admin-user='admin' --admin-password='****' --language='en_GB' --currency='GBP' --timezone='Europe/London' --use-rewrites=1 --cleanup-database
No correct solution
OTHER TIPS
The issue is because during the install process Magento installs the store data, but then doesn't flush its cache. (Not actual cache written to disk/redis but the in memory cache of the object) As far as it is concerned there are still no stores in the DB, because there wasn't first time it checked. (Before they were pushed into the DB) To get around this:
- make sure you have
cweagans/composer-patches
installed (composer require cweagans/composer-patches:1.6.7
) - add the following to your composer.json
"extra": {
...
"patches": {
"magento/module-store": {
"Cache not cleared during install": "patches/magento_install_clear_cache.patch"
}
}
}
- Add
patches/magento_install_clear_cache.patch
with content (don't miss the newline at the end of the file):
--- Setup/Patch/Schema/InitializeStoresAndWebsites.php 2020-04-13 17:35:42.000000000 +0000
+++ Setup/Patch/Schema/InitializeStoresAndWebsites.php 2020-06-22 14:24:13.801830924 +0000
@@ -135,6 +135,7 @@
'is_active' => 1
]
);
+ \Magento\Framework\App\ObjectManager::getInstance()->get(\Magento\Framework\App\Config::class)->clean();
$this->schemaSetup->endSetup();
}
}
composer update
rm -rf vendor/magento/module-store
composer install --no-dev
- then re-run your install command and all should be gravy.