Magento 1.6.2 не может переиндексировать цены на продукцию - PullRequest
1 голос
/ 31 марта 2012

Уважаемое сообщество, я нуждаюсь в вашей помощи.

Тратить много времени на проблему, которую довольно легко решить.Не могу переиндексировать цены.Цены изменятся на странице просмотра товара, но не на просмотре категории.

Эта ошибка влияет только на цену просмотра категории продуктов с настройками.

Я сделал:

  • Использовать magento-cleanup.php
  • Удалить всеstores
  • Удалить все продукты
  • Повторить базу данных (php myadmin)

Попытался найти инструмент восстановления базы данных, но, похоже, он больше недоступен в magentosite ???

Ниже журнала исключений:

2012-03-31T12: 02: 12 + 00: 00 DEBUG (7): Сообщение об исключении: SQLSTATE [21S01]: Вставить список значенийне соответствует списку столбцов: 1136 Количество столбцов не соответствует количеству значений в строке 1

Трассировка:

#0 C:\xampp\htdocs\lib\Varien\Db\Statement\Pdo\Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1 C:\xampp\htdocs\lib\Zend\Db\Statement.php(300): Varien_Db_Statement_Pdo_Mysql->_execute(Array)


#2 C:\xampp\htdocs\lib\Zend\Db\Adapter\Abstract.php(479): Zend_Db_Statement->execute(Array)


#3 C:\xampp\htdocs\lib\Zend\Db\Adapter\Pdo\Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO `ca...', Array)

#4 C:\xampp\htdocs\lib\Varien\Db\Adapter\Pdo\Mysql.php(389): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO `ca...', Array)


#5 C:\xampp\htdocs\app\code\core\Mage\Catalog\Model\Resource\Product\Indexer\Price\Default.php(278): Varien_Db_Adapter_Pdo_Mysql->query('INSERT INTO `ca...')


#6 C:\xampp\htdocs\app\code\core\Mage\Downloadable\Model\Resource\Indexer\Price.php(47): Mage_Catalog_Model_Resource_Product_Indexer_Price_Default->_prepareFinalPriceData()


#7 C:\xampp\htdocs\app\code\core\Mage\Catalog\Model\Resource\Product\Indexer\Price.php(381): Mage_Downloadable_Model_Resource_Indexer_Price->reindexAll()


#8 C:\xampp\htdocs\app\code\core\Mage\Index\Model\Indexer\Abstract.php(143): Mage_Catalog_Model_Resource_Product_Indexer_Price->reindexAll()


#9 C:\xampp\htdocs\app\code\core\Mage\Index\Model\Process.php(207): Mage_Index_Model_Indexer_Abstract->reindexAll()
#10 C:\xampp\htdocs\app\code\core\Mage\Index\Model\Process.php(253): Mage_Index_Model_Process->reindexAll()


#11 C:\xampp\htdocs\app\code\core\Mage\Index\controllers\Adminhtml\ProcessController.php(124): Mage_Index_Model_Process->reindexEverything()


#12 C:\xampp\htdocs\app\code\core\Mage\Core\Controller\Varien\Action.php(420): Mage_Index_Adminhtml_ProcessController->reindexProcessAction()


#13 C:\xampp\htdocs\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('reindexProcess')


#14 C:\xampp\htdocs\app\code\core\Mage\Core\Controller\Varien\Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))

#15 C:\xampp\htdocs\app\code\core\Mage\Core\Model\App.php(349): Mage_Core_Controller_Varien_Front->dispatch()


#16 C:\xampp\htdocs\app\Mage.php(640): Mage_Core_Model_App->run(Array)


#17 C:\xampp\htdocs\index.php(83): Mage::run('', 'store')


#18 {main}

Может кто-нибудь пролить свет на это?

THX!

Ответы [ 2 ]

0 голосов
/ 11 марта 2014

Я обновил пару Magento CE (1.4) до Magento EE (1.11), используя традиционный (и эффективный) способ.Но я обнаружил, что при переиндексации цен была важная проблема, которая мешала Magento делать это.

Читая этот пост на Magento Boards, я обнаружил, что проблема (в моем случае) связана с ошибкой в ​​таблице catalog_product_entity_tier_priceгде некоторые из записей были связаны с продуктами, которые больше не существуют.Это была настоящая ошибка, и при попытке переиндексации цены товара Magento выдает следующее сообщение:

There was a problem with reindexing process.

Как ее решить

Итак, вы хотите решить эту проблему.Вы должны удалить все записи в таблице catalog_product_entity_tier_price, связанные с продуктом, который больше не существует.Вы можете сделать это вручную или использовать следующий скрипт, который я создал.Его очень просто использовать.

[download from here][1]

В этом файле вы найдете:

The script: clean_tier_prices.php
A library to connect in a really easy way to the db

Выполните следующие действия:

Make a copy of your database (just in case)
Uncompress the zip file in your magento base directory
Edit the lib/db.php file and put there your connection settings (db user, user pass and db)
Open the browser and go to http://yourmagentopath.com/clean_tier_prices.php
You’ll see wich references have been deleted from the catalog_product_entity_tier_price table
Try reindexing again in your Magento backoffice

Важное примечание: вы используетеэтот скрипт на свой страх и риск.Сделайте копию своей базы данных перед ее применением.Если вы улучшите это, пожалуйста, поделитесь этим со мной и остальным миром! скачать отсюда

0 голосов
/ 26 апреля 2012

Проблема была для меня сложной, вчера я попробовал Magento 1.7, и после обновления были добавлены дополнительные столбцы (особенно group_price).Я перешел на 1.6.2 из-за нескольких ошибок, но столбцы все еще были здесь.Поэтому мне пришлось удалить созданные столбцы вручную в базе данных.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...