не могу реиндексировать цены

[16 июля 2019 г.]    Российская сборка Magento 2.52.2
Magento 2: модули и услуги
magereport.com: составление перечня необходимых для установки заплаток SUPEE
#1 nat000
  • Группа: Пользователь
  • Сообщений: 11
  • Регистрация: 25.08.2010

14.09.2010 09:13

в админке "Product Prices " застрял на "Processing" после переноса данных с 1.4.0.1 на 1.4.1.1

остальные данные индексируются нормально

если откомпилировать с командной строки, выдает ошибку:


Product Prices index process unknown error:
exception 'Zend_Db_Statement_Exception' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '5339-0-1' for key 1' in /home/public_html/magento/lib/Zend/Db/Statement/Pdo.php:234
Stack trace:
#0 /home/public_html/magento/lib/Zend/Db/Statement.php(300): Zend_Db_Statement_Pdo->_execute(Array)
#1 /home/public_html/magento/lib/Zend/Db/Adapter/Abstract.php(468): Zend_Db_Statement->execute(Array)
#2 /home/public_html/magento/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO `ca...', Array)
#3 /home/public_html/magento/lib/Varien/Db/Adapter/Pdo/Mysql.php(333): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO `ca...', Array)
#4 /home/public_html/magento/app/code/local/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Default.php(556): Varien_Db_Adapter_Pdo_Mysql->query('INSERT INTO `ca...')
#5 /home/public_html/magento/app/code/local/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Default.php(120): Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Price_Default->_movePriceDataToIndexTable()
#6 /home/public_html/magento/app/code/local/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price.php(375): Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Price_Default->reindexAll()
#7 /home/public_html/magento/app/code/core/Mage/Index/Model/Indexer/Abstract.php(125): Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Price->reindexAll()
#8 /home/public_html/magento/app/code/core/Mage/Index/Model/Process.php(139): Mage_Index_Model_Indexer_Abstract->reindexAll()
#9 /home/public_html/magento/app/code/core/Mage/Index/Model/Process.php(167): Mage_Index_Model_Process->reindexAll()
#10 /home/public_html/magento/shell/indexer.php(158): Mage_Index_Model_Process->reindexEverything()
#11 /home/public_html/magento/shell/indexer.php(198): Mage_Shell_Compiler->run()
#12 {main}



после ручной проверки базы данных были обнаружены лишние записи (id которых нет в продуктах, но есть в ценах - скорее всего продукты были некорректно удалены). после чистки лишних id индексирование проходит успешно 1 раз, но продукты не появляются на сайте (только в админке) и при следующием индексировании снова ошибка


как восстановить цены в базе данных?

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

20.09.2010 00:01

Использует ли вас MySQL хранилище InnoDB?

Поделиться темой: