In Magento my website ‘s current version is magento 2.2.5 . Now i have updated it to latest version magento 2.3.0 .
But there i am getting error when i run
php bin/magento setup:upgrade
I got this error
Cannot process definition to array for type tinytext
Please suggest me solution.
Thank You
4
Answers
You might want to check your extensions. I debugged this error for myself and it originated from an extension which was included with a theme purchased, but not updated.
Yes it is because of some extensions.I just exported the database and search for keywords tinytext , found a table which use this format, I changed it to TEXT and the problem solved.
You are getting this error because “data type” of any third party extension’s table’s column is tinytext.
So you need to find out column name using debug in following file.
Open this file /vendor/magento/framework/Setup/Declaration/Schema/Db/DefinitionAggregator.php and check this fromDefinition() method and then add debug code to find column name.
After that please run
setup:upgrade
command and you will get array of column data in console. so from this array you will get name of column from your third party extension table.Now from that table please change column’s data type “tinytext” to “text” and issue will be fixed.
Note : You might also get issues from ENUM and MEDIUMINT data type as well, so do the same steps if get any other data type issue.
Open file
/vendor/magento/framework/Setup/Declaration/Schema/Db/DefinitionAggregator.php
Replace function fromDefinition:
With: