Magento: ошибка базы при обновлении индекса цен

Нам пришлось столкнуться что на реально большой базе индексация цен… мягко скажем сбоит. А грубо — админ товар добавил, а на сайте его то и нет. Вызов регенерации индексов валит базу( что же делать?

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'e.1' in ...

Мы как умные программисты анализируем какие у нас реально используется цены — и составляем схему. И так как мы еще и ленивые, то делаем минимальные апдейты. Например нам повезло, и у нас только цены третьей группы не такие как все), а цены не меняются через админку прямо, только добавляются новые товары. Поэтому схема наша проста (главная функция restorePrices): проверяем кого из товаров в индексе не хватает и забираем его групповые цены для 3, после чего ручками вставляем в индексную таблицу (вставку можно сделать массовой, но на момент «сбоев» мы можем и кусочково вставлять до достижения цели. По хорошему — можно обернуть в одну транзакцию.

Оставить комментарий

XHTML: Вы можете использовать такие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">