Данные категории Magento Flat Data не будут переиндексировать ошибку «Произошла проблема с процессом переиндексации». - PullRequest
1 голос
/ 26 сентября 2011

Я недавно перенес установку magento версии 1.5.0.1 на работающий сервер, однако на внешнем интерфейсе продуктов нет.После проверки индексов я вижу, что индекс плоских данных категории нуждается в повторной индексации, однако при попытке переиндексировать его я получаю окно с сообщением об ошибке, в котором говорится: «Возникла проблема с процессом переиндексации».

Пока чтоЯ попробовал следующее

  1. Сброс разрешений файлов 755 для папок, 664 для файлов

    найти.-type f -exec chmod 644 {} \;

    найти.-type d -exec chmod 755 {} \;

  2. Удаление содержимого папки var, включая кеш и блокировки,

  3. при попытке обработкииндексы вручную через консоль с помощью команды ниже из public_html / shell

    php indexer.php reindexall

Я проверил журналы ошибок иследующее присутствует

2011-09-26T08:16:11+00:00 DEBUG (7): Exception message: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '
`store_id` smallint(5) unsigned not null default '0',
`all_children` text defau' at line 10
Trace: #0 /home/bboutique/www.bassboutique.co.uk/public_html/lib/Zend/Db/Statement.php(300): Zend_Db_Statement_Pdo->_execute(Array)
#1 /home/bboutique/www.bassboutique.co.uk/public_html/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#2 /home/bboutique/www.bassboutique.co.uk/public_html/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('CREATE TABLE `c...', Array)
#3 /home/bboutique/www.bassboutique.co.uk/public_html/lib/Varien/Db/Adapter/Pdo/Mysql.php(333): Zend_Db_Adapter_Pdo_Abstract->query('CREATE TABLE `c...', Array)
#4 /home/bboutique/www.bassboutique.co.uk/public_html/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Flat.php(526): Varien_Db_Adapter_Pdo_Mysql->query('CREATE TABLE `c...')
#5 /home/bboutique/www.bassboutique.co.uk/public_html/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Flat.php(433): Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Flat->_createTable('1')
#6 /home/bboutique/www.bassboutique.co.uk/public_html/app/code/core/Mage/Catalog/Model/Category/Indexer/Flat.php(237): Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Flat->rebuild()
#7 /home/bboutique/www.bassboutique.co.uk/public_html/app/code/core/Mage/Index/Model/Process.php(139): Mage_Catalog_Model_Category_Indexer_Flat->reindexAll()
#8 /home/bboutique/www.bassboutique.co.uk/public_html/app/code/core/Mage/Index/Model/Process.php(167): Mage_Index_Model_Process->reindexAll()
#9 /home/bboutique/www.bassboutique.co.uk/public_html/app/code/core/Mage/Index/controllers/Adminhtml/ProcessController.php(124): Mage_Index_Model_Process->reindexEverything()
#10 /home/bboutique/www.bassboutique.co.uk/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Index_Adminhtml_ProcessController->reindexProcessAction()
#11 /home/bboutique/www.bassboutique.co.uk/public_html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(253): Mage_Core_Controller_Varien_Action->dispatch('reindexProcess')
#12 /home/bboutique/www.bassboutique.co.uk/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#13 /home/bboutique/www.bassboutique.co.uk/public_html/app/code/core/Mage/Core/Model/App.php(340): Mage_Core_Controller_Varien_Front->dispatch()
#14 /home/bboutique/www.bassboutique.co.uk/public_html/app/Mage.php(627): Mage_Core_Model_App->run(Array)
#15 /home/bboutique/www.bassboutique.co.uk/public_html/index.php(80): Mage::run('', 'store')
#16 {main}

Любая помощь будет высоко ценится

Спасибо

Ян

1 Ответ

0 голосов
/ 03 мая 2012

Я получаю те же ошибки при загрузке образцов данных Magento в Magento 1.5.1.0 (несмотря на то, что говорит Varien, их образцы данных не работают со всеми версиями Magento)

в /app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Flat.php Я нашел это в строке 549:

switch ($column['DATA_TYPE']) {
                case 'smallint':
                case 'int':
                    $_type = $column['DATA_TYPE'] . '(11)';
                    $_is_unsigned = (bool)$column['UNSIGNED'];
                    if ($column['DEFAULT'] === '') {
                        $column['DEFAULT'] = null;
                    }
                    break;
                case 'varchar':.........................

не было оператора case для 'timestamp'; тип данных, который Magento использует для своих столбцов «updated_at» и «create_at» в Magento 1.6.1.0

Я сделал несколько операторов таблицы, чтобы изменить столбцы timestamp в catalog_category_entity и catalog_product_entity на datetime, и проблема с индексированием исчезла.

Теперь я выполнил поиск и замену всех столбцов 'timestamp' в данных примера, чтобы сделать его совместимым с 1.5.1.0

Надеюсь, это кому-нибудь поможет:)

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