2013-01-23 79 views
0

最近,我们将一系列产品,客户,订单等从Zen Cart迁移到Magento。 第一次迁移完美无瑕,索引也很好,所以我们继续迁移了所有产品。迁移所有产品后,我们试图运行各种重新索引,并且出现错误。以下是错误日志。Magento错误SQLSTATE [23000]:完整性约束违规:

Error: 
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`ecigexpr_newecx`.`cataloginventory_stock_status`, CONSTRAINT `FK_CATINV_STOCK_STS_WS_ID_CORE_WS_WS_ID` FOREIGN KEY (`website_id`) REFERENCES `core_website` (`website_id`) ON DELETE CASCADE ON) 

2013-01-23T23:43:38+00:00 DEBUG (7): Exception message: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`ecigexpr_newecx`.`cataloginventory_stock_status`, CONSTRAINT `FK_CATINV_STOCK_STS_WS_ID_CORE_WS_WS_ID` FOREIGN KEY (`website_id`) REFERENCES `core_website` (`website_id`) ON DELETE CASCADE ON) 
Trace: #0 /home/ecigexpr/public_html/ecximproved/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array) 
#1 /home/ecigexpr/public_html/ecximproved/lib/Zend/Db/Statement.php(300): Varien_Db_Statement_Pdo_Mysql->_execute(Array) 
#2 /home/ecigexpr/public_html/ecximproved/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array) 
#3 /home/ecigexpr/public_html/ecximproved/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO `ca...', Array) 
#4 /home/ecigexpr/public_html/ecximproved/lib/Varien/Db/Adapter/Pdo/Mysql.php(419): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO `ca...', Array) 
#5 /home/ecigexpr/public_html/ecximproved/app/code/core/Mage/Index/Model/Resource/Abstract.php(179): Varien_Db_Adapter_Pdo_Mysql->query('INSERT INTO `ca...') 
#6 /home/ecigexpr/public_html/ecximproved/app/code/core/Mage/Index/Model/Resource/Helper/Mysql4.php(48): Mage_Index_Model_Resource_Abstract->insertFromSelect(Object(Varien_Db_Select), 'cataloginventor...', Array, false) 
#7 /home/ecigexpr/public_html/ecximproved/app/code/core/Mage/Index/Model/Resource/Abstract.php(153): Mage_Index_Model_Resource_Helper_Mysql4->insertData(Object(Mage_CatalogInventory_Model_Resource_Indexer_Stock), Object(Varien_Db_Select), 'cataloginventor...', Array, false) 
#8 /home/ecigexpr/public_html/ecximproved/app/code/core/Mage/Index/Model/Resource/Abstract.php(113): Mage_Index_Model_Resource_Abstract->insertFromTable('cataloginventor...', 'cataloginventor...', false) 
#9 /home/ecigexpr/public_html/ecximproved/app/code/core/Mage/CatalogInventory/Model/Resource/Indexer/Stock.php(251): Mage_Index_Model_Resource_Abstract->syncData() 
#10 /home/ecigexpr/public_html/ecximproved/app/code/core/Mage/Index/Model/Indexer/Abstract.php(143): Mage_CatalogInventory_Model_Resource_Indexer_Stock->reindexAll() 
#11 /home/ecigexpr/public_html/ecximproved/app/code/core/Mage/Index/Model/Process.php(209): Mage_Index_Model_Indexer_Abstract->reindexAll() 
#12 /home/ecigexpr/public_html/ecximproved/app/code/core/Mage/Index/Model/Process.php(255): Mage_Index_Model_Process->reindexAll() 
#13 /home/ecigexpr/public_html/ecximproved/app/code/core/Mage/Index/Model/Process.php(249): Mage_Index_Model_Process->reindexEverything() 
#14 /home/ecigexpr/public_html/ecximproved/app/code/core/Mage/Index/controllers/Adminhtml/ProcessController.php(124): Mage_Index_Model_Process->reindexEverything() 
#15 /home/ecigexpr/public_html/ecximproved/app/code/core/Mage/Core/Controller/Varien/Action.php(419): Mage_Index_Adminhtml_ProcessController->reindexProcessAction() 
#16 /home/ecigexpr/public_html/ecximproved/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('reindexProcess') 
#17 /home/ecigexpr/public_html/ecximproved/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http)) 
#18 /home/ecigexpr/public_html/ecximproved/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch() 
#19 /home/ecigexpr/public_html/ecximproved/app/Mage.php(683): Mage_Core_Model_App->run(Array) 
#20 /home/ecigexpr/public_html/ecximproved/index.php(89): Mage::run('', 'store') 
#21 {main} 

我可以清楚地看到,这个问题是在cataloginventory_stock_status和website_id,但我在如何纠正它的损失。任何帮助将不胜感激。

回答

0

我们从来没有找到真正的解决方案,但我们最终转移到另一台服务器并安装了一个新的magento副本。然后我们在phpmyadmin中导入了数据库,一切正常。由于db中没有任何变化,它使我相信,可能是一个锁文件,损坏或其他问题导致文件方面的问题(而不是在数据库中)。如果遇到这种情况,您可能需要先清除缓存并锁定文件并用备份覆盖文件。如果这不起作用,导出数据库,重新安装magento并导入数据库是我能想出的唯一解决方案。虽然不是最佳解决方案,但我们不再遇到问题。

相关问题