[5.x]: failed to apply m240223_101158_update_recent_orders_widget_settings
What happened?
Description
Updating Craft Commerce 4 to Craft Commerce 5 for a sample Spoke and Chain site throws an error: 'failed to apply m240223_101158_update_recent_orders_widget_settings'.
*** applying m240223_101158_update_recent_orders_widget_settings
> update in {{%widgets}} ...Exception: Array to string conversion (/var/www/html/spokeandchain5/vendor/yiisoft/yii2/db/ColumnSchema.php:168)
#0 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/db/ColumnSchema.php(168): yii\base\ErrorHandler->handleError()
#1 /var/www/html/spokeandchain5/vendor/craftcms/cms/src/db/mysql/ColumnSchema.php(36): yii\db\ColumnSchema->typecast()
#2 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/db/mysql/ColumnSchema.php(49): craft\db\mysql\ColumnSchema->typecast()
#3 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/db/QueryBuilder.php(652): yii\db\mysql\ColumnSchema->dbTypecast()
#4 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/db/QueryBuilder.php(630): yii\db\QueryBuilder->prepareUpdateSets()
#5 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/db/Command.php(591): yii\db\QueryBuilder->update()
#6 /var/www/html/spokeandchain5/vendor/craftcms/cms/src/db/Command.php(152): yii\db\Command->update()
#7 /var/www/html/spokeandchain5/vendor/craftcms/cms/src/db/Migration.php(248): craft\db\Command->update()
#8 /var/www/html/spokeandchain5/vendor/craftcms/commerce/src/migrations/m240223_101158_update_recent_orders_widget_settings.php(48): craft\db\Migration->update()
#9 /var/www/html/spokeandchain5/vendor/craftcms/cms/src/db/Migration.php(49): craft\commerce\migrations\m240223_101158_update_recent_orders_widget_settings->safeUp()
#10 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(758): craft\db\Migration->up()
#11 /var/www/html/spokeandchain5/vendor/craftcms/cms/src/console/controllers/MigrateController.php(365): yii\console\controllers\BaseMigrateController->migrateUp()
#12 [internal function]: craft\console\controllers\MigrateController->actionAll()
#13 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array()
#14 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams()
#15 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/console/Controller.php(180): yii\base\Controller->runAction()
#16 /var/www/html/spokeandchain5/vendor/craftcms/cms/src/console/ControllerTrait.php(89): yii\console\Controller->runAction()
#17 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/base/Module.php(552): craft\console\controllers\MigrateController->runAction()
#18 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction()
#19 /var/www/html/spokeandchain5/vendor/craftcms/cms/src/console/Application.php(91): yii\console\Application->runAction()
#20 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/base/Controller.php(212): craft\console\Application->runAction()
#21 /var/www/html/spokeandchain5/vendor/craftcms/cms/src/console/Controller.php(207): yii\base\Controller->run()
#22 /var/www/html/spokeandchain5/vendor/craftcms/cms/src/console/controllers/UpController.php(60): craft\console\Controller->run()
#23 [internal function]: craft\console\controllers\UpController->actionIndex()
#24 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array()
#25 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams()
#26 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/console/Controller.php(180): yii\base\Controller->runAction()
#27 /var/www/html/spokeandchain5/vendor/craftcms/cms/src/console/ControllerTrait.php(89): yii\console\Controller->runAction()
#28 /var/www/html/spokeandchain5/vendor/craftcms/cms/src/console/Controller.php(216): craft\console\Controller->traitRunAction()
#29 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/base/Module.php(552): craft\console\Controller->runAction()
#30 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction()
#31 /var/www/html/spokeandchain5/vendor/craftcms/cms/src/console/Application.php(91): yii\console\Application->runAction()
#32 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/console/Application.php(147): craft\console\Application->runAction()
#33 /var/www/html/spokeandchain5/vendor/craftcms/cms/src/console/Application.php(122): yii\console\Application->handleRequest()
#34 /var/www/html/spokeandchain5/vendor/yiisoft/yii2/base/Application.php(384): craft\console\Application->handleRequest()
#35 /var/www/html/spokeandchain5/craft(13): yii\base\Application->run()
#36 {main}
Craft CMS version
4.8.1
Craft Commerce version
5.0.0-beta.1
PHP version
No response
Operating system and version
No response
Database type and version
No response
Image driver and version
No response
Installed plugins and versions
Linear: PT-1274
Hi @vnali
Thank you for reporting, I have just tried the upgrade with the Spoke & Chain seed database and everything seemed to run smoothly.
Had you made any modifications before upgrading or was it a fresh Spoke & Chain? If you had, could you please send a copy of your pre-upgrade DB to [email protected].
Thanks!
Hi @nfourtythree I just sent a pre-upgrade DB backup. Not a fresh DB backup. actually it has a recent order widget and also i had a self-written plugin on this site but it doesn't affect commerce tables.
Hi @vnali
Thank you for sending the info through to support. We were able to track this down to a MariaDB specific issue.
We have just pushed up a fix that takes care of this issue it, will be included in the next release of Commerce 5 beta.
To get this early, change your craftcms/commerce requirement in your project's composer.json to:
"require": {
"craftcms/commerce": "5.0.x-dev#efff2fc6b1d82f5ab3fa49c0c5053381adcdad1c as 5.0.0-beta.1",
"...": "..."
}
Then run composer update.
Thanks!
Thanks @nfourtythree Sorry, i should have mentioned the database type and version in the issue.