craftcms / commerce

Fully integrated ecommerce for Craft CMS.
https://craftcms.com/commerce
Other
219 stars 170 forks source link

[5.x]: failed to apply m240223_101158_update_recent_orders_widget_settings #3411

Closed vnali closed 6 months ago

vnali commented 7 months ago

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

-

github-actions[bot] commented 7 months ago

Linear: PT-1274

nfourtythree commented 7 months ago

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 support@craftcms.com.

Thanks!

vnali commented 7 months ago

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.

nfourtythree commented 6 months ago

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!

vnali commented 6 months ago

Thanks @nfourtythree Sorry, i should have mentioned the database type and version in the issue.