-
Notifications
You must be signed in to change notification settings - Fork 9.4k
Commit 30dd1d9
authored
Fix Magento\Review\Model\ResourceModel\Rating\Option not instantiable in setup scripts
`Magento\Review\Model\ResourceModel\Rating\Option` depends on `\Magento\Customer\Model\Session` and this makes it not instantiable in setup scripts. By making it a proxy, we're postponing its instantiation.
```php
// some setup script
$optionModel = $objectManager->create(Magento\Review\Model\Rating\Option::class);
```
Below is the exceptions triggered when trying to run a `setup:upgrade`
```
[Magento\Framework\Exception\SessionException]
Area code not set: Area code must be set before starting a session.
Exception trace:
() at /vagrant/vendor/magento/framework/Session/SessionManager.php:175
Magento\Framework\Session\SessionManager->start() at /vagrant/vendor/magento/framework/Session/SessionManager.php:130
Magento\Framework\Session\SessionManager->__construct() at /vagrant/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:115
Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject() at /vagrant/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:89
Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create() at /vagrant/vendor/magento/framework/ObjectManager/ObjectManager.php:71
Magento\Framework\ObjectManager\ObjectManager->get() at /vagrant/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:236
Magento\Framework\ObjectManager\Factory\AbstractFactory->resolveArgument() at /vagrant/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:53
Magento\Framework\ObjectManager\Factory\Dynamic\Developer->_resolveArguments() at /vagrant/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:82
Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create() at /vagrant/vendor/magento/framework/ObjectManager/ObjectManager.php:71
Magento\Framework\ObjectManager\ObjectManager->get() at /vagrant/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:236
Magento\Framework\ObjectManager\Factory\AbstractFactory->resolveArgument() at /vagrant/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:53
Magento\Framework\ObjectManager\Factory\Dynamic\Developer->_resolveArguments() at /vagrant/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:82
Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create() at /vagrant/vendor/magento/framework/ObjectManager/ObjectManager.php:71
Magento\Framework\ObjectManager\ObjectManager->get() at /vagrant/vendor/magento/framework/Model/AbstractModel.php:461
Magento\Framework\Model\AbstractModel->_getResource() at /vagrant/vendor/magento/framework/Model/AbstractModel.php:214
Magento\Framework\Model\AbstractModel->_init() at /vagrant/vendor/magento/module-review/Model/Rating/Option.php:32
Magento\Review\Model\Rating\Option->_construct() at /vagrant/vendor/magento/framework/Model/AbstractModel.php:193
Magento\Framework\Model\AbstractModel->__construct() at /vagrant/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:105
Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject() at /vagrant/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:89
Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create() at /vagrant/vendor/magento/framework/ObjectManager/ObjectManager.php:57
Magento\Framework\ObjectManager\ObjectManager->create() at /vagrant/src/Project/Catalog/Setup/data-upgrade/1.1.25.php:56
include() at /vagrant/src/Project/ModuleSetup/Spi/Updater/SequentialFiles.php:96
Project\ModuleSetup\Spi\Updater\includeFile() at /vagrant/src/Project/ModuleSetup/Spi/Updater/SequentialFiles.php:88
Project\ModuleSetup\Spi\Updater\SequentialFiles->update() at /vagrant/src/Project/Catalog/Setup/UpgradeData.php:46
Project\Catalog\Setup\UpgradeData->upgrade() at /vagrant/setup/src/Magento/Setup/Model/Installer.php:809
Magento\Setup\Model\Installer->handleDBSchemaData() at /vagrant/setup/src/Magento/Setup/Model/Installer.php:772
Magento\Setup\Model\Installer->installDataFixtures() at /vagrant/setup/src/Magento/Setup/Console/Command/UpgradeCommand.php:72
Magento\Setup\Console\Command\UpgradeCommand->execute() at /vagrant/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:257
Symfony\Component\Console\Command\Command->run() at /vagrant/vendor/symfony/console/Symfony/Component/Console/Application.php:874
Symfony\Component\Console\Application->doRunCommand() at /vagrant/vendor/symfony/console/Symfony/Component/Console/Application.php:195
Symfony\Component\Console\Application->doRun() at /vagrant/vendor/magento/framework/Console/Cli.php:49
Magento\Framework\Console\Cli->doRun() at /vagrant/vendor/symfony/console/Symfony/Component/Console/Application.php:126
Symfony\Component\Console\Application->run() at /vagrant/bin/magento:25
[Magento\Framework\Exception\LocalizedException]
Area code is not set
Exception trace:
() at /vagrant/vendor/magento/framework/App/State.php:139
Magento\Framework\App\State->getAreaCode() at /vagrant/vendor/magento/framework/Session/SessionManager.php:173
Magento\Framework\Session\SessionManager->start() at /vagrant/vendor/magento/framework/Session/SessionManager.php:130
Magento\Framework\Session\SessionManager->__construct() at /vagrant/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:115
Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject() at /vagrant/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:89
Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create() at /vagrant/vendor/magento/framework/ObjectManager/ObjectManager.php:71
Magento\Framework\ObjectManager\ObjectManager->get() at /vagrant/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:236
Magento\Framework\ObjectManager\Factory\AbstractFactory->resolveArgument() at /vagrant/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:53
Magento\Framework\ObjectManager\Factory\Dynamic\Developer->_resolveArguments() at /vagrant/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:82
Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create() at /vagrant/vendor/magento/framework/ObjectManager/ObjectManager.php:71
Magento\Framework\ObjectManager\ObjectManager->get() at /vagrant/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:236
Magento\Framework\ObjectManager\Factory\AbstractFactory->resolveArgument() at /vagrant/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:53
Magento\Framework\ObjectManager\Factory\Dynamic\Developer->_resolveArguments() at /vagrant/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:82
Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create() at /vagrant/vendor/magento/framework/ObjectManager/ObjectManager.php:71
Magento\Framework\ObjectManager\ObjectManager->get() at /vagrant/vendor/magento/framework/Model/AbstractModel.php:461
Magento\Framework\Model\AbstractModel->_getResource() at /vagrant/vendor/magento/framework/Model/AbstractModel.php:214
Magento\Framework\Model\AbstractModel->_init() at /vagrant/vendor/magento/module-review/Model/Rating/Option.php:32
Magento\Review\Model\Rating\Option->_construct() at /vagrant/vendor/magento/framework/Model/AbstractModel.php:193
Magento\Framework\Model\AbstractModel->__construct() at /vagrant/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:105
Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject() at /vagrant/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:89
Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create() at /vagrant/vendor/magento/framework/ObjectManager/ObjectManager.php:57
Magento\Framework\ObjectManager\ObjectManager->create() at /vagrant/src/Project/Catalog/Setup/data-upgrade/1.1.25.php:56
include() at /vagrant/src/Project/ModuleSetup/Spi/Updater/SequentialFiles.php:96
Project\ModuleSetup\Spi\Updater\includeFile() at /vagrant/src/Project/ModuleSetup/Spi/Updater/SequentialFiles.php:88
Project\ModuleSetup\Spi\Updater\SequentialFiles->update() at /vagrant/src/Project/Catalog/Setup/UpgradeData.php:46
Project\Catalog\Setup\UpgradeData->upgrade() at /vagrant/setup/src/Magento/Setup/Model/Installer.php:809
Magento\Setup\Model\Installer->handleDBSchemaData() at /vagrant/setup/src/Magento/Setup/Model/Installer.php:772
Magento\Setup\Model\Installer->installDataFixtures() at /vagrant/setup/src/Magento/Setup/Console/Command/UpgradeCommand.php:72
Magento\Setup\Console\Command\UpgradeCommand->execute() at /vagrant/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:257
Symfony\Component\Console\Command\Command->run() at /vagrant/vendor/symfony/console/Symfony/Component/Console/Application.php:874
Symfony\Component\Console\Application->doRunCommand() at /vagrant/vendor/symfony/console/Symfony/Component/Console/Application.php:195
Symfony\Component\Console\Application->doRun() at /vagrant/vendor/magento/framework/Console/Cli.php:49
Magento\Framework\Console\Cli->doRun() at /vagrant/vendor/symfony/console/Symfony/Component/Console/Application.php:126
Symfony\Component\Console\Application->run() at /vagrant/bin/magento:25
```1 parent 3be18f3 commit 30dd1d9Copy full SHA for 30dd1d9
1 file changed
+5
-0
lines changedapp/code/Magento/Review/etc/di.xml
Copy file name to clipboardExpand all lines: app/code/Magento/Review/etc/di.xml+5Lines changed: 5 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
26 | 26 |
| |
27 | 27 |
| |
28 | 28 |
| |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
29 | 34 |
|
0 commit comments