Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Por favor, poste aqui todas as dúvidas que você está tendo sobre a instalação, atualização ou configuração do OpenCart v2.x
Avatar do usuário
Por kadoce
#71798
Ola fiz uma migração meio doida.

alguns problemas abaixo... alguem ajuda :D
Código: Selecionar todos
Notice: Undefined index: custom_field in /home/cam/public_html/admin/controller/customer/customer.php on line 936Notice: Undefined index: safe in /home/cam/public_html/admin/controller/customer/customer.php on line 968Notice: Undefined index: custom_field in /home/cam/public_html/admin/model/customer/customer.php on line 248

Fatal error: Uncaught exception 'Exception' with message 'Error: Unknown column 'o.marketing_id' in 'where clause'<br />Error No: 1054<br />SELECT *, (SELECT COUNT(*) FROM `oc_order` o WHERE (o.order_status_id = '5' OR o.order_status_id = '3') AND o.marketing_id = m.marketing_id) AS orders FROM oc_marketing m ORDER BY name ASC LIMIT 0,20' in /home/cam/public_html/system/library/db/mysqli.php:40 Stack trace: #0 /home/cam/public_html/system/library/db.php(16): DB\MySQLi->query('SELECT *, (SELE...', Array) #1 /home/cam/public_html/admin/model/marketing/marketing.php(82): DB->query('SELECT *, (SELE...') #2 [internal function]: ModelMarketingMarketing->getMarketings(Array) #3 /home/cam/public_html/system/engine/loader.php(150): call_user_func_array(Array, Array) #4 [internal function]: Loader->{closure}(Array) #5 /home/cam/public_html/system/engine/proxy.php(13): call_user_func(Object(Closure), Array) #6 /home/cam/public_html/admin/controller/marketing/marketing.php(245): Proxy->__call('getMarketings', Array) #7 /home/cam/publ in /home/cam/public_html/system/library/db/mysqli.php on line 40
#71810
As tabelas são bem diferentes da versão 15X para versões 2.X.
Aconselho a instalar uma versão 2.2.X limpa e comparar os campos que faltam nas tabelas e adicioná-los.
#71832
@kadoce , se você tem acesso ao SSH do seu servidor. Você pode instalar o "MySQL Utilities" (https://dev.mysql.com/doc/mysql-utiliti ... stall.html)

Depois basta você executar o seguinte comando.
Código: Selecionar todos
mysqldbcompare --server1=USER_DB:PASS_DB@IP_SERVER:3306 BANCO_DE_DADOS_ANTIGO:BANCO_DE_DADOS_NOVO  --difftype sql --run-all-tests

/* No meu caso ficou dessa forma (testando no meu PC): mysqldbcompare --server1=root@localhost:3307 teste:teste2  --difftype sql --run-all-tests */
Quando você executar esse comando, você receberá uma mensagem (exemplo abaixo) no seu terminal.
Código: Selecionar todos
# WARNING: Using a password on the command line interface can be insecure.
# server1 on localhost: ... connected.
# Checking databases teste and teste2 on server1
#
#                                                   Defn    Row     Data
# Type      Object Name                             Diff    Count   Check
# -------------------------------------------------------------------------
# TABLE     oc_compras_do_cliente                   FAIL    FAIL    -
#           - Compare table checksum                                FAIL
#           - Find row differences                                  SKIP
#
# Transformation for --changes-for=server1:
#

ALTER TABLE `teste`.`oc_compras_do_cliente`
  ADD COLUMN order_id int(11) NOT NULL AFTER customer_id;

# Row counts are not the same among `teste`.`oc_compras_do_cliente` and `teste2`.`oc_compras_do_cliente`.
#
# The table oc_compras_do_cliente does not have an usable Index or primary key.


# Database consistency check failed.
#
# ...done
Isso significa que está faltando uma coluna em nossa tabela "oc_compras_do_cliente", para isso basta executar o código
Código: Selecionar todos
ALTER TABLE `teste`.`oc_compras_do_cliente`
  ADD COLUMN order_id int(11) NOT NULL AFTER customer_id;
no seu gerenciador de banco de dados (PHPMyAdmin por exemplo).


É complicado, mas é boa alternativa para atualizações de versões.

Você também pode instalar o WampServer e instalar a versão antiga e a nova no seu computador daí você instala o Mysql Utilities no Windows > abrir o prompt de comando > digitar
Código: Selecionar todos
cd C:\Program Files\MySQL\MySQL Utilities 1.6
e seguir o passo a passo. Só então você envia importa o banco de dados para seu servidor.

Looking for a partner for an unforgettable night? […]

Olá! Tudo bem? Verifique as configura&cced[…]

Olá! Tudo bem? Trabalho com Opencart h&aac[…]

Imagem do Carrinho de Compras

Olá! Tudo bem? São vários lo[…]