2014-10-09 42 views
2

我構建了一個cronjob,可以自動將產品導入我的Magento 1.7.0.2商店。Magento Cronjob導入:「數據結構錯誤:實體代碼混合」

我的導入工作得很好,只要可配置文章和它的選項之間的連接沒有正確更新,如果可配置文章已經存在。

所以我在腳本中添加了一些代碼,這會在導入之前刪除要導入的文章。

突然,出現下列錯誤:

exception 'Mage_Core_Exception' with message 'Error in data structure: entity codes are mixed' in /var/www/vhosts/my-domain.de/httpdocs/app/Mage.php:594 
Stack trace: 
#0 /var/www/vhosts/my-domain.de/httpdocs/app/code/core/Mage/ImportExport/Model/Resource/Import/Data.php(119): Mage::throwException('Error in data s...') 
#1 /var/www/vhosts/my-domain.de/httpdocs/app/code/core/Mage/ImportExport/Model/Import.php(326): Mage_ImportExport_Model_Resource_Import_Data->getEntityTypeCode() 
#2 /var/www/vhosts/my-domain.de/httpdocs/app/code/local/Webda/Import/Model/Observer.php(88): Mage_ImportExport_Model_Import->importSource() 
#3 [internal function]: Webda_Import_Model_Observer->doImport(Object(Aoe_Scheduler_Model_Schedule)) 
#4 /var/www/vhosts/my-domain.de/httpdocs/app/code/community/Aoe/Scheduler/Model/Observer.php(79): call_user_func_array(Array, Array) 
#5 /var/www/vhosts/my-domain.de/httpdocs/app/code/core/Mage/Core/Model/App.php(1338): Aoe_Scheduler_Model_Observer->dispatch(Object(Varien_Event_Observer)) 
#6 /var/www/vhosts/my-domain.de/httpdocs/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Aoe_Scheduler_Model_Observer), 'dispatch', Object(Varien_Event_Observer)) 
#7 /var/www/vhosts/my-domain.de/httpdocs/app/Mage.php(447): Mage_Core_Model_App->dispatchEvent('default', Array) 
#8 /var/www/vhosts/my-domain.de/httpdocs/cron.php(46): Mage::dispatchEvent('default') 
#9 {main} 

所以,當然,我也撤消了我所有的最新變化,但錯誤依然存在。

Funfact: 如果我在AOE調度程序中啓動cronjob,它將工作得很好,無論有沒有我最新的變化。

所以我可以明確地說,實現不是問題。

我沒有檢查表「importexport_importdata」,它是空的。

我沒有多次刪除緩存。

+0

嘗試刪除緩存,有時也可以是一個問題 – 2014-10-10 03:04:30

回答

0

這似乎有點老問題,但以防萬一別人面對這我分享我的經驗。

消息Error in data structure: behaviors are mixed來自

Mage_ImportExport_Model_Resource_Import_Data

它在表importexport_importdata相關的數據。

Magento在輸入過程中將數據存儲在此表中。

有時,當輸入過程失敗或被用戶停止時,此表中的數據將被破壞。

解決辦法:

爲刪除所有記錄importexport_importdata表,然後嘗試再次執行導入過程是非常容易的。