升级到EE 1.14.2.0后的索引错误:表catalog_product_entity_tmp_indexer不存在


16

在将Magento升级到EE 1.14.2.0之后,cron enterprise_refresh_index总是会收到以下错误:

消息“ SQLSTATE [42S02]”的异常“ PDOException”:未找到基表或视图:1146 /var/www/public_html/lib/Zend/Db/Statement/Pdo.php:228中的表“ catalog_product_entity_tmp_indexer'不存在”

我不明白为什么这个表不存在。Magento不应在刷新索引的过程中创建它吗?


1
如果您拥有EE,相信您会得到支持?
理查德(Richard)

是的,我可以这样尝试。
笑话在2015年

1
@Richard表示您从未使用过EE支持。
user487772

@TimBezhashvyly嗨,蒂姆,不,尽管我也从未使用过EE
理查德(Richard)

Answers:



5

在生产中的数据库重新启动之后以及在运行EE 1.14.2.3的本地开发环境上进行首次重新索引之后,我们遇到了此错误。

对我们有用的是:

  1. 禁用平面产品目录
  2. 观察索引器成功运行
  3. 启用平板产品目录
  4. 观察索引器成功运行

1
我测试了此变通办法,它似乎对我
有用

也为我工作。
df2k2 '16

4

我无法对现有评论/答案发表评论,但我可以确认SUPEE-5984似乎可以解决问题,至少对于遇到此问题的客户(他们有超过一百万种产品,因此仍然没有)完成运行,但现在正在运行...)。通过与客户的支持合同,我们与Magento开了一张票,Magento在不到一个小时的时间内就收到了补丁。


1
警告,如果在修补程序后更新至1.14.2.3,则必须再次应用该修补程序,因为该修补程序未包含在最新版本中
Fabian Schmengler

根据记录,在1.14.3中,该问题似乎已经以不同的方式解决,并且不再需要该补丁
Fabian Schmengler

4

供将来参考:当我将文件还原app/code/core/Enterprise/Catalog/Model/Index/Action/Product/Flat/Refresh.php到我们以前的版本1.1.4.0.1 时,不会发生该错误。函数中
的新参数似乎引起了问题。$resetFlag_reindex


“很棒”,只是遇到了同样的问题。将尝试是否也解决了我们的问题。
AnnaVölkl'15

我可以确认还原文件可以解决该错误。从1.14.0.1更新到1.14.2.0,并创建了一个带有Refresh.php修改内容的补丁文件。下一步:联系EE支持人员。
AnnaVölkl'15

@AnnaVölkl他们是否向您提供任何更新?
谢尔盖·古克

2
@Sergei Guk:到目前为止,我只重置了文件,没有要求官方支持或补丁。队列中有对1.14.2.1的更新(也许在那里解决?)。有时间需要进一步调查。
AnnaVölkl15年

1
对1.14.2.1的更新不能解决此问题。Magento支持有一个补丁,但我仍然必须对其进行测试。
笑话

1

Magento EE 1.14.2.3遇到了相同的问题,但是上述解决方案对我不起作用。我发现问题出在Enterprise_Catalog_Helper_Product::getFlatColumns。我通过换线解决了

if ($columns !== null) {

if ($columns !== null && $columns !== false) {

当然:不要直接编辑核心文件,而要重写。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.