YapayPagamentos / yapay-magento1

3 stars 4 forks source link

SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'traycheckout_transaction_id #15

Open LuizSantos22 opened 2 years ago

LuizSantos22 commented 2 years ago

Olá, Estou usando Magento 1.9 (OpenMage 1.9.4.19), já havia instalado este módulo antes em 2021, porém, agora, está me dando errado. Já tendei encontrar essa coluna que diz que está duplicada, e não encontro. Já desinstalei, reinstalei, e nada, sempre dá o mesmo erro. Se desativo o módulo em app/etc/modules de "true" para "false" a loja volta ao normal.

Abaixo deixo o erro e acho complicado reproduzir, porque seguramente foi uma instalação antiga ou uma execução equivocada.

Mas o ambiente é OpenMage 1.9.4.19 Versão PHP 7.3 Versão do Módulo: 2.1.7

Ao instalar aparece o erro abaixo

Gostaria de saber se há alguma query de SQL ou algum comando via Composer que consiga desinstalar tudo e assim voltar a reinstalar?

Segue o erro:

a:5:{i:0;s:225:"Error in file: "public_html/app/code/community/Tray/CheckoutApi/sql/checkoutapi_setup/mysql4-install-1.1.6.php" - SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'traycheckout_transaction_id'";i:1;s:964:"#0 public_html/app/code/core/Mage/Core/Model/Resource/Setup.php(636): Mage::exception('Mage_Core', 'Error in file: ...')

1 public_html/app/code/core/Mage/Core/Model/Resource/Setup.php(416): Mage_Core_Model_Resource_Setup->_modifyResourceDb('install', '', '2.1.7')

2 public_html/app/code/core/Mage/Core/Model/Resource/Setup.php(322): Mage_Core_Model_Resource_Setup->_installResourceDb('2.1.7')

3 public_html/app/code/core/Mage/Core/Model/Resource/Setup.php(230): Mage_Core_Model_Resource_Setup->applyUpdates()

4 public_html/app/code/core/Mage/Core/Model/App.php(434): Mage_Core_Model_Resource_Setup::applyAllUpdates()

5 public_html/app/code/core/Mage/Core/Model/App.php(360): Mage_Core_Model_App->_initModules()

6 public_html/app/Mage.php(735): Mage_Core_Model_App->run(Array)

7 public_html/index.php(83): Mage::run('', 'store')

8

jrmaia commented 1 year ago

Comente todas a linhas do arquivo: app/code/community/Tray/CheckoutApi/sql/checkoutapi_setup/mysql4-install-1.1.6.php

Caso não consiga fazer a instalação ou tiver algum problema com seu magento, pode me chamar no meu email: comoquepode@gmail.com

LuizSantos22 commented 1 year ago

@jrmaia Obrigado pela dica, mas não funcionou, só mudou o problema pra o outro arquivo, eu até tentei comentar neste outro, e também não funcionou.

Eu consegui instalar fazendo uma "gambiarra", mas essa gambiarra de momento não funciona no site principal.

1 - Usei uma instalação limpa do Magento 1.9.4.5 (instalei usando PHP 7.2) 2- Depois fiz o downgrade da versão PHP do servidor pra PHP5.6 3 - Instalei o módulo, configurei (Magento 1.9.4.5 é compatível com php 5.6, mas não se instala corretamente nessa versão). 4 - Fui ao backend do Magento 1.9.4.5 e fiz a configuração do módulo, deixando a opção TEF sem configurar, pois ela me deu problema por um motivo desconhecido. 5 - Atualizei o servidor para PHP7.3 6 - Fiz o upgrade para a última versão do Openmage (19.4.20) 7 - Limpei o cache e tudo rodou.

O problema é que de momento, não consegui replicar isso no site principal, o módulo não aceitou minha "solução paliativa".

O mais provável é que o problema seja a versão PHP desatualizada do módulo

Veja o erro que me apareceu:

a:5:{i:0;s:306:"Error in file: "/home/ultraele/public_html/OM19420/app/code/community/Tray/CheckoutApi/sql/checkoutapi_setup/mysql4-upgrade-1.4.0-2.0.0.php" - SQLSTATE[42S02]: Base table or view not found: 1146 Table 'ultraele_OM19420.sales_flat_quote_payment' doesn't exist, query was: DESCRIBE sales_flat_quote_payment";i:1;s:1042:"#0 /home/ultraele/public_html/OM19420/app/code/core/Mage/Core/Model/Resource/Setup.php(636): Mage::exception('Mage_Core', 'Error in file: ...')

1 /home/ultraele/public_html/OM19420/app/code/core/Mage/Core/Model/Resource/Setup.php(432): Mage_Core_Model_Resource_Setup->_modifyResourceDb('upgrade', '1.1.6', '2.1.7')

2 /home/ultraele/public_html/OM19420/app/code/core/Mage/Core/Model/Resource/Setup.php(315): Mage_Core_Model_Resource_Setup->_upgradeResourceDb('1.1.6', '2.1.7')

3 /home/ultraele/public_html/OM19420/app/code/core/Mage/Core/Model/Resource/Setup.php(230): Mage_Core_Model_Resource_Setup->applyUpdates()

4 /home/ultraele/public_html/OM19420/app/code/core/Mage/Core/Model/App.php(434): Mage_Core_Model_Resource_Setup::applyAllUpdates()

5 /home/ultraele/public_html/OM19420/app/code/core/Mage/Core/Model/App.php(360): Mage_Core_Model_App->_initModules()

6 /home/ultraele/public_html/OM19420/app/Mage.php(735): Mage_Core_Model_App->run(Array)

7 /home/ultraele/public_html/OM19420/index.php(83): Mage::run('', 'store')

8 {main}";s:3:"url";s:9:"/OM19420/";s:11:"script_name";s:18:"/OM19420/index.php";s:4:"skin";s:7:"default";}

LuizSantos22 commented 1 year ago

Aqui deixo a resolução para o erro mencionado por mim mesmo acima: "Error in file: "public_html/app/code/community/Tray/CheckoutApi/sql/checkoutapi_setup/mysql4-install-1.1.6.php" - SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'traycheckout_transaction_id'"

Início o código

`<?php /**

/* @var $installer Mage_Paypal_Model_Resource_Setup / $installer = $this;

/**

/**

$installer->run(" ALTER TABLE {$this->getTable('sales_flat_quote_payment')} ADD traycheckout_transaction_id VARCHAR( 255 ) NULL DEFAULT NULL; ALTER TABLE {$this->getTable('sales_flat_quote_payment')} ADD traycheckout_split_number VARCHAR( 255 ) NULL DEFAULT NULL; ALTER TABLE {$this->getTable('sales_flat_quote_payment')} ADD traycheckout_split_value VARCHAR( 255 ) NULL DEFAULT NULL; ALTER TABLE {$this->getTable('sales_flat_quote_payment')} ADD traycheckout_token_transaction VARCHAR( 255 ) NULL DEFAULT NULL; ALTER TABLE {$this->getTable('sales_flat_quote_payment')} ADD traycheckout_url_payment VARCHAR( 255 ) NULL DEFAULT NULL; ALTER TABLE {$this->getTable('sales_flat_quote_payment')} ADD traycheckout_typeful_line VARCHAR( 255 ) NULL DEFAULT NULL; ALTER TABLE {$this->getTable('sales_flat_quote_payment')} ADD traycheckout_finger_print VARCHAR( 255 ) NULL DEFAULT NULL; ALTER TABLE {$this->getTable('sales_flat_quote_payment')} ADD traycheckout_payment_method_name VARCHAR( 255 ) NULL DEFAULT NULL;

ALTER TABLE  {$this->getTable('sales_flat_order_payment')} ADD  `traycheckout_split_number` VARCHAR( 255 ) NULL DEFAULT NULL;
ALTER TABLE  {$this->getTable('sales_flat_order_payment')} ADD  `traycheckout_split_value` VARCHAR( 255 ) NULL DEFAULT NULL;
ALTER TABLE  {$this->getTable('sales_flat_order_payment')} ADD  `traycheckout_token_transaction` VARCHAR( 255 ) NULL DEFAULT NULL;
ALTER TABLE  {$this->getTable('sales_flat_order_payment')} ADD  `traycheckout_url_payment` VARCHAR( 255 ) NULL DEFAULT NULL;
ALTER TABLE  {$this->getTable('sales_flat_order_payment')} ADD  `traycheckout_typeful_line` VARCHAR( 255 ) NULL DEFAULT NULL;
ALTER TABLE  {$this->getTable('sales_flat_order_payment')} ADD  `traycheckout_finger_print` VARCHAR( 255 ) NULL DEFAULT NULL;
ALTER TABLE  {$this->getTable('sales_flat_order_payment')} ADD  `traycheckout_payment_method_name` VARCHAR( 255 ) NULL DEFAULT NULL;

"); /**

$installer->endSetup(); `

Fim do código

Ainda estou tentando fazer o formulário do cartão de crédito com o OpenStepCheckout No padrão, as vezes funciona, as vezes não.