You are getting this error because "data type" of any third-party extension's table's column is tinytext.
Note: Normally this error happens because of Fishpig Wordpress extension's wp_comment table has tinytext data type
So you need to find out the column name using debug in the 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.
public function fromDefinition(array $data)
{
$type = $data['type'];
if (!isset($this->definitionProcessors[$type])) {
/* Add Code for Debug */
echo "<pre>";
print_r($data); exit();
/* Code End */
throw new \InvalidArgumentException(
sprintf("Cannot process definition to array for type %s", $type)
);
}
$definitionProcessor = $this->definitionProcessors[$type];
return $definitionProcessor->fromDefinition($data);
}
After that please run setup:upgrade
command and you will get an array of column data in console. so from this array you will get the 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.
SECOND METHOD
Please export the database and search for keywords tinytext, you will found a table which uses this format, Now changed it to TEXT and the problem solved.
Note : You might also get issues from ENUM, TIME and MEDIUMINT data type as well, so do the same steps if get any other data type issue.