Feb.01
Corrigindo o Erro no MailAlert do Prestashop: Duplicate column name ‘id_lang’ – 2 Soluções.
E ai pessoal? Beleza?
Hoje vamos resolver esse problema que surge no módulo MailAlert do Prestashop.
O erro aparece quando você tenta atualizar o módulo MailAlert, a seguinte mensagem aparece na tela.
[PrestaShopDatabaseException]
Duplicate column name ‘id_lang’
1° Solução (eu testei)
Você precisa procurar o arquivo de atualização do Módulo que fica em ‘modules/mailalerts/upgrade/install-2.5.php’.
ALTER TABLE 'ps_mailalert_customer_oos'
ADD 'id_lang' INT( 10 ) UNSIGNED NOT NULL ,
DROP PRIMARY KEY ,
ADD PRIMARY KEY ('id_customer', 'customer_email', 'id_product', 'id_product_attribute', 'id_shop')
Quando encontrar o arquivo ‘install-2.5.php’, remova a linha:
"ADD 'id_lang' INT( 10 ) UNSIGNED NOT NULL , "
Salve o arquivo e a partir de agora você já consegue atualizar o Módulo MailAlert.
Obs.: Em alguns casos o módulo pode apresentar um segundo erro após essa modificação, dizendo que na atualização ele não encontra o campo ‘id_shop’ no seu banco de dados na tabela do MailAlert (mailalert_customer_oos).
Você vai precisar criar o campo ‘id_shop’ na tabela ‘mailalert_customer_oos’, ela deverá ser configurado como ‘INT(10) UNSIGNED NOT NULL’.
2° Solução (não testei)
Alguns amigos desenvolvedores, resolveram esse problema fazendo o seguinte:
Você precisa procurar o arquivo de atualização do Módulo que fica em ‘modules/mailalerts/upgrade/install-2.5.php’.
ALTER TABLE 'ps_mailalert_customer_oos'
ADD 'id_lang' INT( 10 ) UNSIGNED NOT NULL ,
DROP PRIMARY KEY ,
ADD PRIMARY KEY ('id_customer', 'customer_email', 'id_product', 'id_product_attribute', 'id_shop')
Quando encontrar o arquivo ‘install-2.5.php’, modifique a linha:
ADD 'id_lang' INT( 10 ) UNSIGNED NOT NULL ,
Para:
ADD 'id_shop' INT( 10 ) UNSIGNED NOT NULL ,
Salve o arquivo e a partir de agora você já consegue atualizar o Módulo MailAlert.
Espero ter ajudado.
Compartilhe e qualquer dúvida deixe um comentário.