2013-02-03 2 views
1

Magento 사이트에서 일하고 있습니다. 오늘 아침에 일을 계속하기 위해 일어 났고 전체 사이트 (프런트 엔드와 관리자 모두)가 오류를 던지고 있습니다. 오류 로그는 말한다 : 나는 지난 밤 사이에 아무 짓도하지 않은Magento "일반 오류 : 1005 테이블을 만들 수 없습니다"

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";} 

는 "어제했던 마지막을"기본 저장소 "에서 기본 저장소의 이름을 변경했다 ... 오늘 아침에 잘 작동하고 때 추구". 어떤 아이디어가 있었고 어떻게 수정해야합니까?

답변

2

외래 키 제약 조건이 있으며 테이블 중 하나가 MyISAM입니다. 이 스토리지 엔진은 외래 키 제약 조건을 지원하지 않습니다. (source). 설치 파일은 관리자 모듈의 것을, 그래서 이노에 Mage_Admin 모듈 테이블을 변환 (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 스토리지 엔진을 잘못 가지고 있다면. 이 blog에 대한 스크립트가 있습니다 (이 스크립트를 실행하기 전에 데이터베이스를 백업하십시오). catalogsearch_fulltext (MyISAM)과 임시 테이블 (MEMORY)을 제외한 Magento 코어의 모든 테이블은 InnoDB입니다.