Magento2.3 setup:upgrade error

You are getting this error because "data type" of any third party extension's table column is enum.

So you need to find out column name using debug in following file.

See below file /vendor/magento/framework/Setup/Declaration/Schema/Db/DefinitionAggregator.php and check this fromDefinition() and add debug code to find column name.

public function fromDefinition(array $data)
{
    $type = $data['type'];
    if (!isset($this->definitionProcessors[$type])) {

       echo "<pre>";
       print_r($data); exit();

       throw new \InvalidArgumentException(
       sprintf("Cannot process definition to array for type %s", $type)
            );
    }

    $definitionProcessor = $this->definitionProcessors[$type];
    return $definitionProcessor->fromDefinition($data);
}

Please run again setup:upgrade and you will get array of column data in console. 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 "enum" to "text" and issue will be fixed.

REF: Cannot process definition to array for type tinytext on Magento 2.3.0


No need to update in core files, please follow up my solution. Open Mysql database and select database and use below queries. This query also will be useful to find out the datatype CHAR error when upgrade to Magento 2.3.

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE DATA_TYPE ='enum';

Then the table will be list, after that you have to update the column datatype to the acceptable data type like varchar,etc.

Eg: ALTER TABLE table_name MODIFY column_name VARCHAR(10);

Note: Update only magento table if you have the result using search query not other mysql table.

Try this, thumps up.