Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Undefined index: mediumtext in db/ColumnSchema.php:158 #9825

Closed
ammannbe opened this issue Sep 14, 2021 · 1 comment
Closed

Undefined index: mediumtext in db/ColumnSchema.php:158 #9825

ammannbe opened this issue Sep 14, 2021 · 1 comment
Labels

Comments

@ammannbe
Copy link

I've already opened an issue on Yii2, but it seems that's a problem with Craft CMS. See here: yiisoft/yii2#18872

Description

If I want to save a value into a mediumtext MariaDB column (in this case to commerce_transactions.note through a custom commerce gateway plugin), i receive following exception:

2021-08-31 11:24:42 [-][-][8b982cb21eeb74f9a89be2bacd510fac][error][yii\base\ErrorException:8] yii\base\ErrorException: Undefined index: mediumtext in /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/db/ColumnSchema.php:158
Stack trace:
#0 /var/www/vhosts/example.com/httpdocs/vendor/craftcms/cms/src/web/ErrorHandler.php(75): yii\base\ErrorHandler->handleError(8, 'Undefined index...', '/var/www/vhosts...', 158)
#1 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/db/ColumnSchema.php(158): craft\web\ErrorHandler->handleError(8, 'Undefined index...', '/var/www/vhosts...', 158, Array)
#2 /var/www/vhosts/example.com/httpdocs/vendor/craftcms/cms/src/db/mysql/ColumnSchema.php(30): yii\db\ColumnSchema->typecast(3270998)
#3 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/db/ColumnSchema.php(91): craft\db\mysql\ColumnSchema->typecast(3270998)
#4 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/db/mysql/ColumnSchema.php(65): yii\db\ColumnSchema->phpTypecast(3270998)
#5 /var/www/vhosts/example.com/httpdocs/vendor/craftcms/cms/src/db/ActiveRecord.php(142): yii\db\mysql\ColumnSchema->phpTypecast(3270998)
#6 /var/www/vhosts/example.com/httpdocs/vendor/craftcms/cms/src/db/ActiveRecord.php(52): craft\db\ActiveRecord->_prepareValue('note', 3270998)
#7 /var/www/vhosts/example.com/httpdocs/vendor/craftcms/commerce/src/services/Transactions.php(430): craft\db\ActiveRecord->__set('note', 3270998)
#8 /var/www/vhosts/example.com/httpdocs/vendor/homm/homm-gateway/src/controllers/DefaultController.php(87): craft\commerce\services\Transactions->saveTransaction(Object(craft\commerce\models\Transaction))
#9 [internal function]: homm\hommgateway\controllers\DefaultController->actionProcessOrder()
#10 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)
#11 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/base/Controller.php(181): yii\base\InlineAction->runWithParams(Array)
#12 /var/www/vhosts/example.com/httpdocs/vendor/craftcms/cms/src/web/Controller.php(190): yii\base\Controller->runAction('process-order', Array)
#13 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/base/Module.php(534): craft\web\Controller->runAction('process-order', Array)
#14 /var/www/vhosts/example.com/httpdocs/vendor/craftcms/cms/src/web/Application.php(276): yii\base\Module->runAction('homm-gateway/de...', Array)
#15 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/web/Application.php(104): craft\web\Application->runAction('homm-gateway/de...', Array)
#16 /var/www/vhosts/example.com/httpdocs/vendor/craftcms/cms/src/web/Application.php(261): yii\web\Application->handleRequest(Object(craft\web\Request))
#17 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/base/Application.php(392): craft\web\Application->handleRequest(Object(craft\web\Request))
#18 /var/www/vhosts/example.com/httpdocs/web/index.php(21): yii\base\Application->run()
#19 {main}

I receive a similar exception when a longtext is saved through another custom plugin (on this line of the plugin):

2021-09-14 08:17:16 [-][1][66138679dd019bc205dce15c1c09333e][error][yii\base\ErrorException:8] yii\base\ErrorException: Undefined index: longtext in /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/db/ColumnSchema.php:158
Stack trace:
#0 /var/www/vhosts/example.com/httpdocs/vendor/craftcms/cms/src/web/ErrorHandler.php(75): yii\base\ErrorHandler->handleError(8, 'Undefined index...', '/var/www/vhosts...', 158)
#1 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/db/ColumnSchema.php(158): craft\web\ErrorHandler->handleError(8, 'Undefined index...', '/var/www/vhosts...', 158, Array)
#2 /var/www/vhosts/example.com/httpdocs/vendor/craftcms/cms/src/db/mysql/ColumnSchema.php(30): yii\db\ColumnSchema->typecast(0)
#3 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/db/mysql/ColumnSchema.php(49): craft\db\mysql\ColumnSchema->typecast(0)
#4 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/db/QueryBuilder.php(380): yii\db\mysql\ColumnSchema->dbTypecast(0)
#5 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/db/mysql/QueryBuilder.php(258): yii\db\QueryBuilder->prepareInsertValues('{{%hommjuicer_j...', Array, Array)
#6 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/db/QueryBuilder.php(350): yii\db\mysql\QueryBuilder->prepareInsertValues('{{%hommjuicer_j...', Array, Array)
#7 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/db/mysql/QueryBuilder.php(278): yii\db\QueryBuilder->insert('{{%hommjuicer_j...', Array, Array)
#8 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/db/Command.php(557): yii\db\mysql\QueryBuilder->upsert('{{%hommjuicer_j...', Array, Array, Array)
#9 /var/www/vhosts/example.com/httpdocs/vendor/craftcms/cms/src/db/Command.php(121): yii\db\Command->upsert('{{%hommjuicer_j...', Array, Array, Array)
#10 /var/www/vhosts/example.com/httpdocs/vendor/homm/hommjuicer/src/services/HommjuicerService.php(231): craft\db\Command->upsert('{{%hommjuicer_j...', Array)
#11 /var/www/vhosts/example.com/httpdocs/vendor/homm/hommjuicer/src/controllers/DefaultController.php(73): homm\hommjuicer\services\HommjuicerService->updateJuicer()
#12 [internal function]: homm\hommjuicer\controllers\DefaultController->actionUpdateJuicer()
#13 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)
#14 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/base/Controller.php(181): yii\base\InlineAction->runWithParams(Array)
#15 /var/www/vhosts/example.com/httpdocs/vendor/craftcms/cms/src/web/Controller.php(190): yii\base\Controller->runAction('update-juicer', Array)
#16 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/base/Module.php(534): craft\web\Controller->runAction('update-juicer', Array)
#17 /var/www/vhosts/example.com/httpdocs/vendor/craftcms/cms/src/web/Application.php(276): yii\base\Module->runAction('hommjuicer/defa...', Array)
#18 /var/www/vhosts/example.com/httpdocs/vendor/craftcms/cms/src/web/Application.php(585): craft\web\Application->runAction('hommjuicer/defa...', Array)
#19 /var/www/vhosts/example.com/httpdocs/vendor/craftcms/cms/src/web/Application.php(255): craft\web\Application->_processActionRequest(Object(craft\web\Request))
#20 /var/www/vhosts/example.com/httpdocs/vendor/yiisoft/yii2/base/Application.php(392): craft\web\Application->handleRequest(Object(craft\web\Request))
#21 /var/www/vhosts/example.com/httpdocs/web/index.php(21): yii\base\Application->run()
#22 {main}

Steps to reproduce

  1. Set a database column data type to mediumtext
  2. Save an integer via ActiveRecord in this column field

Additional info

  • Craft version: 3.7.10 / 3.7.12
  • PHP version: 7.4.23
  • Database driver & version: MariaDB 10.3.31
  • Plugins & versions: Custom Payrexx Gateway Plugin / HOMMJuicer 2.0.1
@brandonkelly
Copy link
Member

Thanks for reporting that! Craft 3.7.13 is out now with a fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants