Magento升级 - mysql4-upgrade-1.5.9.9-1.6.0.0.php“ - SQLSTATE [42000]

时间:2012-03-14 15:27:41

标签: magento

我试图将magento从1.4.1.0升级到1.7 但我无法完成它 我做了什么: - 复制并覆盖1.7中的新文件(在1.4.1.0上) - 清除var / cache - 清除var / session - 将文件和目录的权限设置为755(来自magento instalation guide的信息)

现在当我尝试运行install.php时出现此错误:

<code>
a:5:{i:0;s:308:"Error in file: "/home/klient.dhosting.pl/trezeta/trezeta.dkonto.pl/public_html/app/code/core/Mage/CatalogSearch/sql/catalogsearch_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php" - SQLSTATE[42000]: Syntax error or access violation: 1075 W tabeli może być tylko jedno pole auto i musi ono być zdefiniowane jako klucz";i:1;s:1270:"#0 /home/klient.dhosting.pl/trezeta/trezeta.dkonto.pl/public_html/app/code/core/Mage/Core/Model/Resource/Setup.php(645): Mage::exception('Mage_Core', 'Error in file: ...')
 /home/klient.dhosting.pl/trezeta/trezeta.dkonto.pl/public_html/app/code/core/Mage/Core/Model/Resource/Setup.php(437): Mage_Core_Model_Resource_Setup->_modifyResourceDb('upgrade', '0.7.7', '1.6.0.0')
 /home/klient.dhosting.pl/trezeta/trezeta.dkonto.pl/public_html/app/code/core/Mage/Core/Model/Resource/Setup.php(320): Mage_Core_Model_Resource_Setup->_upgradeResourceDb('0.7.7', '1.6.0.0')
 /home/klient.dhosting.pl/trezeta/trezeta.dkonto.pl/public_html/app/code/core/Mage/Core/Model/Resource/Setup.php(235): Mage_Core_Model_Resource_Setup->applyUpdates()
/home/klient.dhosting.pl/trezeta/trezeta.dkonto.pl/public_html/app/code/core/Mage/Core/Model/App.php(417): Mage_Core_Model_Resource_Setup::applyAllUpdates()
 /home/klient.dhosting.pl/trezeta/trezeta.dkonto.pl/public_html/app/code/core/Mage/Core/Model/App.php(343): Mage_Core_Model_App->_initModules()
 /home/klient.dhosting.pl/trezeta/trezeta.dkonto.pl/public_html/app/Mage.php(682): Mage_Core_Model_App->run(Array)
 /home/klient.dhosting.pl/trezeta/trezeta.dkonto.pl/public_html/index.php(87): Mage::run('', 'store')
 {main}";s:3:"url";s:1:"/";s:11:"script_name";s:10:"/index.php";s:4:"skin";s:7:"default";
</code>

任何想法如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

从技术上讲,如果要从以前版本的Magento升级,则不需要运行install.php,因为Magento将执行适当的脚本。然而,正如所说,你将从一个非常过时的版本发布到最新版本,因为使用增量更新可能会有更好的结果,首先是1.4到1.5,依此类推。希望这会有所帮助。

答案 1 :(得分:0)

当我在本地计算机上安装新的1.6.2.0并从1.4导入数据库时​​,我遇到了类似的错误。版。当我尝试通过浏览器访问index.php时,数据库升级过程仍然失败。

根据此用户swifty_的帖子,以下内容对我有用:http://www.magentocommerce.com/boards/viewthread/248462/

  • cd到您的magentodir
  • 清除var / cache和var / session;
  • 运行php -f shell/compiler.php clear,然后通过运行php -f shell/compiler.php disable
  • 确保其已停用
  • 运行./mage config-set preferred_state stable
  • 重新安装所有Mage社区模块:./mage install http://connect20.magentocommerce.com/community Mage_All_Latest --force
  • 重新启动我的Apache和MySQL服务器
  • 运行php index.php - 这是导致升级过程的原因,如果从浏览器窗口完成,可以通过超时停止,然后数据库事务失败。
祝你好运。