1

我吓坏了……在 Magento 网站上工作,一切都很好。今天早上醒来继续工作,整个网站(前端和管理员)都在抛出错误。错误日志说:

a:5:{i:0;s:249:"Error in file: "/home1/ameridq4/public_html/pursuityourself/magento/app/code/core/Mage/Admin/sql/admin_setup/    install-1.6.0.0.php" - SQLSTATE[HY000]: General error: 1005 Can't create table 'ameridq4_ecommerce-pursuit-magento.admin_assert' (errno: -1)";i:1;s:1168:"#0 /home1/ameridq4/public_html/pursuityourself/magento/app/code/core/Mage/Core/Model/Resource/Setup.php(645): Mage::exception('Mage_Core', 'Error in file: ...')
#1 /home1/ameridq4/public_html/pursuityourself/magento/app/code/core/Mage/Core/Model/Resource/Setup.php(421): Mage_Core_Model_Resource_Setup->_modifyResourceDb('install', '', '1.6.1.0')
#2 /home1/ameridq4/public_html/pursuityourself/magento/app/code/core/Mage/Core/Model/Resource/Setup.php(327): Mage_Core_Model_Resource_Setup->_installResourceDb('1.6.1.0')
#3 /home1/ameridq4/public_html/pursuityourself/magento/app/code/core/Mage/Core/Model/Resource/Setup.php(235): Mage_Core_Model_Resource_Setup->applyUpdates()
#4 /home1/ameridq4/public_html/pursuityourself/magento/app/code/core/Mage/Core/Model/App.php(417): Mage_Core_Model_Resource_Setup::applyAllUpdates()
#5 /home1/ameridq4/public_html/pursuityourself/magento/app/code/core/Mage/Core/Model/App.php(343): Mage_Core_Model_App->_initModules()
#6 /home1/ameridq4/public_html/pursuityourself/magento/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#7 /home1/ameridq4/public_html/pursuityourself/magento/index.php(87): Mage::run('', 'store')
#8 {main}";s:3:"url";s:10:"/magento/e";s:11:"script_name";s:18:"/magento/index.php";s:4:"skin";s:7:"default";}

从昨晚工作正常到今天早上,我什么都没做……我昨天做的最后一件事是将默认商店名称从“默认商店”更改为“追求”。任何想法发生了什么以及如何解决?

4

1 回答 1

2

问题是存在外键约束,其中一个表是 MyISAM。此存储引擎不支持外键约束。(来源)。安装文件是 Admin 模块的文件,因此请尝试将Mage_Admin模块表转换为 InnoDB(在 phpmyadmin 或任何其他数据库客户端中执行):

alter table admin_assert engine=innodb;
alter table admin_role engine=innodb;
alter table admin_rule engine=innodb;
alter table admin_user engine=innodb;

如果其他表错误地具有 MyISAM 存储引擎,您可能还必须将其他表转换为 InnoDB。这个博客有一个脚本(在运行这个脚本之前备份你的数据库)。Magento 核心中的每个表,除了catalogsearch_fulltext(MyISAM) 和临时表 (MEMORY),都是 InnoDB。

于 2013-02-03T22:12:38.323 回答