Magento – magento 2.3.4 installation issue in localhost

magento2.3.4

Actually I have tried to install magento 2.3.4 using bitnami lampstack-7.2. I got an installation error at 3% itself like this

[ERROR] Magento\Framework\Setup\Exception: Unable to apply patch Magento\Catalog\Setup\Patch\Schema\EnableSegmentation for module Magento_Catalog. Original exception message: Invalid column data type ""

Couldnot downgrade MYSQL server version in lampstack for the version of 5.7. Can anyone suggest me the solution?

Thanks in advance

Best Answer

please use the below solution

vendor/magento/framework/DB/Adapter/Pdo/Mysql.php

line 1846

after line

case 'smallint':

add

case 'smallint unsigned':

and after line

case 'int':

add

case 'int unsigned':

or full method code

protected function _getColumnTypeByDdl($column)
    {
        switch ($column['DATA_TYPE']) {
            case 'bool':
                return Table::TYPE_BOOLEAN;
            case 'tinytext':
            case 'char':
            case 'varchar':
            case 'text':
            case 'mediumtext':
            case 'longtext':
                return Table::TYPE_TEXT;
            case 'blob':
            case 'mediumblob':
            case 'longblob':
                return Table::TYPE_BLOB;
            case 'tinyint':
            case 'smallint':
            case 'smallint unsigned':
                return Table::TYPE_SMALLINT;
            case 'mediumint':
            case 'int':
            case 'int unsigned':
                return Table::TYPE_INTEGER;
            case 'bigint':
                return Table::TYPE_BIGINT;
            case 'datetime':
                return Table::TYPE_DATETIME;
            case 'timestamp':
                return Table::TYPE_TIMESTAMP;
            case 'date':
                return Table::TYPE_DATE;
            case 'float':
                return Table::TYPE_FLOAT;
            case 'decimal':
            case 'numeric':
                return Table::TYPE_DECIMAL;
        }
    }

This worked for me. Hope this works for you as well, Thank You.

Related Topic