MySQL error: Table storage engine for ‘catalog_product_relation’ doesn’t have this option

Está com esse problema para executar um script SQL no MySQL? O que está ocorrendo é que de definição da tabela não é compatível com sua instalação do MySQL.

Esse problema ocorre principalmente ao realizar mysqldump na versão 5.5.x de um banco de dados do Magento, e ao importar em 5.7.x, não ter a opção para criação da tabela.

O seguinte erro ocorre ao executar o script SQL:

ERROR 1031 (HY000) at line 3002: Table storage engine for ‘catalog_product_relation’ doesn’t have this option

O problema

Isso provavelmente se deve à opção de tabela que você tem em seu CREATE TABLE DDL:

ROW_FORMAT = FIXED

Para verificar onde está o problema no scritp, pode executar no terminal o seguinte comando:

cat magento.sql | grep '=FIXED'

Somente as linhas que contém a palavra FIXED irão retornar. Para corrigir o problema, podemos realizar uma substituição através de REGEX, como nos exemplos abaixo.

Solução 1

Essa solução pode funcionar em SO linux, mas no Mac OSX apresentam erros.

sed -i 's/ROW_FORMAT=FIXED//g' magento.sql

Solução 2

Para funcionar no terminal do Mac OSX, utilize o comando abaixo:

LC_ALL=C sed -i '' 's/ROW_FORMAT=FIXED//g' magento.sql

Depois, é só realizar a importação do dump sem problemas!

Seu comentário é muito importante! Conte pra gente o que você achou desse conteúdo.