2

我最近刚刚将我的 magento 商店从 1.4.2 升级到 1.7.0.2。升级很顺利,但是当我在升级后尝试重新索引数据时。它在产品价格上失败了。

我已经尝试php shell/indexer.php --reindexall从 SSH 使用,但它在产品价格上失败并出现这些错误(我使用 pastebin,因为错误很长):

http://pastebin.com/iV2tuzDX

据我所知,桌子catalog_product_index_tier_price是空的..我不确定这是否会导致任何问题?

我尝试了许多不同的方法来解决它,但无济于事.. 比如:

他们都没有工作..我不是MySQL方面的专家,但我知道一点..所以我希望有人能够找出导致错误的原因并帮助我,我相信它也可以帮助其他人遇到和我一样的问题:)

谢谢!~

4

2 回答 2

1

解决方案 :

请执行以下操作:

通过以下方式启用 magento DB 日志记录: lib/Varien/Db/Adapter/Pdo/Mysql.php 。在第 86 行附近,您将看到以下类变量:

protected $_debug = false; 
protected $_logAllQueries = false; 
protected $_logCallStack = false; 
protected $_debugFile = ‘var/debug/sql.txt’;

将 all 更改为 true,然后运行重新索引。然后检查上面指定的日志文件。

日志文件指示数据库中的哪个表导致问题,然后将此表的表结构与此处的表结构进行比较:http: //www.magereverse.com/index/magento-database-diagram/version/1- 7-0-2

删除不应该存在的列。该问题将得到解决。问候。

于 2013-08-31T12:28:58.103 回答
0

我遇到了同样的问题,日志说的是这样的

exception ‘PDOException’ with message ‘SQLSTATE[21S01]: Insert value list does not match column list ...

当我追踪异常和导致错误的查询时,我发现升级没有正确完成,数据库中缺少与产品索引组价格相关的某些列。我不得不再次添加它们(通过再次运行与产品属性组价格相关的设置文件),它就像一个魅力。

于 2014-04-17T19:47:28.140 回答