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!

Magento Download: Escolha a versão preferida para baixar

É muito fácil baixar e instalar (magento download) no seu servidor. Magento é um sistema web de e-commerce, totalmente open-source, desenvolvido em PHP com banco de dados MySQL utilizando como base o Framework Zend. Sua estrutura é totalmente modular e de fácil expansão, permitindo integração com qualquer plataforma, sistema ou necessidade.

É desenvolvido e distribuído pela Magento Inc (antiga Varien), que depois da aquisição por parte da eBay, passou a fazer parte do grupo de empresas.

Ler mais

Call to a member function getOptions() – Magento Bug

Se você já se deparou com a seguinte mensagem de erro, “Call to a member function getOptions()“, após executar ou migrar uma instalação Magento, descubra neste post como solucionar o problema.

Esse erro é extramente simples de resolver. O que acontece é falta de permissão nas pastas chave para que o sistema execute. Por isso, abaixo compartilho os comandos que eu sempre executo após instalar ou transferir uma loja magento de servidor.

Normalizando as permissões de pastas e arquivos do Magento:

sudo find . -type f -exec chmod 644 {} \; && sudo find . -type d -exec chmod 755 {} \;

Permissão para as pastas chaves do Magento:

chmod -R o+w media var;

Permissão para leitura do arquivo de configurações do Magento:

chmod o+w app/etc;

Resolveu o seu problema também? Espero que sim! Caso não tenha dado certo, deixe seu comentário que vamos te ajudar.

“Cannot add the item to shopping cart.” Magento Bug

Se você já passou por essa mensagem de erro no Magento – Cannot add the item to shopping cart. – vou mostrar neste post como é possível resolver ele.

Basicamente, esse erro vai ocorrer quando o Magento não conseguir localizar o diretório de cache do sistema. Ele só será apresetando quando um cliente tentar inserir um produto no carrinho de compras.

Se você habilitar os logs de erro do Magento, irá encontrar a seguinte mensagem no arquivo exception.log: “Exception message: cache_dir must be a directory“.

Siga os passos seguintes para corrigir o problema. Localize o arquivo lib/Zend/Cache/Backend/File.php e edite as seguintes configurações:

'cache_dir' => null
'cache_dir' => 'tmp'

Após salvar o arquivo e subir ele novamente para o servidor, confira se o problema foi resolvido.

Caso o problema persista, talvez a pasta que você esteja definido como tmp não seja válida. Por isso, recomendo você criar uma pasta no servidor e definir ela com a tmp.

Espero que isso ajude. Se o problema não for resolvido, deixe um comentário com o seu problema.

Como arrumar INNODB STORAGE ENGINE IS NOT SUPPORTED no Magento

É possível que na instalação do Magento, você encontre um problema que retornará a mensagem:

INNODB STORAGE ENGINE IS NOT SUPPORTED

Para resolver este problema, mesmo o servidor possuindo suporte a InnoDB, será comentar algumas linhas de código no core do sistema.

Sabemos que essa prática não é a correta, mas de vez em quando é necessária para conseguir realizar a instalação do Magento.

Vamos para a solução. Abra o arquivo no caminho: app/code/core/mage/install/model/installer/Db.php

Procure o código seguinte pela linha 85:

 // check InnoDB support
 if (!$resource->supportEngine()) {
 Mage::throwException(Mage::helper('install')->__('Database server does not support '
 . 'the InnoDB storage engine.'));
 }

Agora você pode comentar essas linhas:

 // check InnoDB support
 // if (!$resource->supportEngine()) {
 // Mage::throwException(Mage::helper('install')->__('Database server does not support '
 // . 'the InnoDB storage engine.'));
 // }

Pronto! Tente a instalação novamente.