समाचार पत्र कतार को संसाधित करते समय क्रॉन नौकरी विफल हो जाती है। मैंने पीडीओ कॉल को डिबग किया और ऐसा लगता है जैसे मैगेंटो यहां खेतों को मिला रहा है। मेरे पास कोई सुराग नहीं है जहां मैगेंटो (या ज़ेंड पीडीओ) से चयन करने के लिए फ़ील्ड मिलते हैं, लेकिन यह पूरी तरह से मिश्रित दिखता है:
ऐसा लगता है कि ग्राहक का पहला नाम प्राप्त करने पर Magento विफल रहता है। अंतिम चयन हैं:
SELECT
eav_entity_type
.* FROM eav_entity_type
WHERE (eav_entity_type
.entity_type_code
='customer')
DESCRIBE
customer_eav_attribute
DESCRIBE
customer_eav_attribute_website
फिर एक फ़ील्ड सूची के साथ एक चयन आता है जो मौजूद नहीं है:
SELECT
main_table
.data
, main_table
.lifetime
, main_table
.expire
, main_table
.priority
, additional_table
.attribute_id
, additional_table
.is_visible
, additional_table
.input_filter
, additional_table
.multiline_count
, additional_table
.validate_rules
, additional_table
.is_system
, additional_table
.sort_order
, additional_table
.data_model
, scope_table
.website_id
AS scope_website_id
, scope_table
.is_visible
AS scope_is_visible
, scope_table
.multiline_count
AS scope_multiline_count
FROM eav_attribute
AS main_table
INNER JOIN customer_eav_attribute
AS additional_table
ON additional_table.attribute_id = main_table.attribute_id
LEFT JOIN customer_eav_attribute_website
AS scope_table
ON scope_table.attribute_id = main_table.attribute_id AND scope_table.website_id = :scope_website_id WHERE (main_table.entity_type_id = :mt_entity_type_id)
उस क्वेरी के लिए पैरामीटर: :mt_entity_type_id' => 1
और:scope_website_id' => 0
यह उठता है
exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'main_table.data' in 'field list''
क्योंकि eav_attribute तालिका में फ़ील्ड डेटा, जीवनकाल, समय सीमा या प्राथमिकता शामिल नहीं है।
यहां देखें पूरा स्टैक ट्रेस:
Stack trace:
0 /usr/www/users/weartb/shop/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array)
1 /usr/www/users/weartb/shop/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
2 /usr/www/users/weartb/shop/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
3 /usr/www/users/weartb/shop/lib/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array)
4 /usr/www/users/weartb/shop/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SELECT `main_ta...', Array)
5 /usr/www/users/weartb/shop/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('SELECT `main_ta...', Array)
6 /usr/www/users/weartb/shop/lib/Zend/Db/Adapter/Abstract.php(737): Varien_Db_Adapter_Pdo_Mysql->query('SELECT `main_ta...', Array)
7 /usr/www/users/weartb/shop/lib/Varien/Data/Collection/Db.php(734): Zend_Db_Adapter_Abstract->fetchAll('SELECT `main_ta...', Array)
8 /usr/www/users/weartb/shop/app/code/core/Mage/Core/Model/Resource/Db/Collection/Abstract.php(521): Varien_Data_Collection_Db->_fetchAll('SELECT `main_ta...', Array)
9 /usr/www/users/weartb/shop/app/code/core/Mage/Eav/Model/Config.php(356): Mage_Core_Model_Resource_Db_Collection_Abstract->getData()
10 /usr/www/users/weartb/shop/app/code/core/Mage/Eav/Model/Config.php(478): Mage_Eav_Model_Config->_initAttributes(Object(Mage_Eav_Model_Entity_Type))
11 /usr/www/users/weartb/shop/app/code/core/Mage/Eav/Model/Entity/Abstract.php(512): Mage_Eav_Model_Config->getEntityAttributeCodes(Object(Mage_Eav_Model_Entity_Type), Object(Mage_Customer_Model_Customer))
12 /usr/www/users/weartb/shop/app/code/core/Mage/Customer/Model/Customer.php(340): Mage_Eav_Model_Entity_Abstract->loadAllAttributes(Object(Mage_Customer_Model_Customer))
13 /usr/www/users/weartb/shop/app/code/core/Mage/Customer/Model/Customer.php(354): Mage_Customer_Model_Customer->getAttributes()
14 /usr/www/users/weartb/shop/app/code/core/Mage/Newsletter/Model/Resource/Subscriber/Collection.php(134): Mage_Customer_Model_Customer->getAttribute('firstname')
15 /usr/www/users/weartb/shop/app/code/core/Mage/Newsletter/Model/Queue.php(191): Mage_Newsletter_Model_Resource_Subscriber_Collection->showCustomerInfo()
16 [internal function]: Mage_Newsletter_Model_Queue->sendPerSubscriber(20)
17 /usr/www/users/weartb/shop/lib/Varien/Data/Collection.php(466): call_user_func_array(Array, Array)
18 /usr/www/users/weartb/shop/app/code/core/Mage/Newsletter/Model/Observer.php(70): Varien_Data_Collection->walk('sendPerSubscrib...', Array)
19 [internal function]: Mage_Newsletter_Model_Observer->scheduledSend(Object(Mage_Cron_Model_Schedule))
20 /usr/www/users/weartb/shop/app/code/core/Mage/Cron/Model/Observer.php(325): call_user_func_array(Array, Array)
21 /usr/www/users/weartb/shop/app/code/core/Mage/Cron/Model/Observer.php(72): Mage_Cron_Model_Observer->_processJob(Object(Mage_Cron_Model_Schedule), Object(Mage_Core_Model_Config_Element))
22 /usr/www/users/weartb/shop/app/code/core/Mage/Core/Model/App.php(1338): Mage_Cron_Model_Observer->dispatch(Object(Varien_Event_Observer))
23 /usr/www/users/weartb/shop/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Mage_Cron_Model_Observer), 'dispatch', Object(Varien_Event_Observer))
24 /usr/www/users/weartb/shop/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('default', Array)
25 /usr/www/users/weartb/shop/cron.php(84): Mage::dispatchEvent('default')
26 {main}
Mage_Customer_Model_Customer->getAttribute('firstname')
कॉल आने तक सब कुछ ठीक लगता है ।
हमने ग्राहक मॉडल का विस्तार नहीं किया या ऐसा करने वाले किसी भी मॉड्यूल का उपयोग नहीं किया, साथ ही समाचार पत्र का पूर्वावलोकन करना ठीक काम करता है और इसे मैन्युअल रूप से भी भेजना है, इसलिए यह अपवाद केवल तब होता है जब मैगेंटो क्रोन कॉल के माध्यम से समाचार पत्र कतार को संसाधित करने का प्रयास करता है।
Zend_Debug::dump(Mage::getModel('customer/customer')->getAttribute('firstname'));
और एक वैधMage_Customer_Model_Attribute
वापस प्राप्त कर सकता हूं । क्या आप डेटाबेस में मैन्युअल रूप से पुष्टि कर सकते हैं कि कोई विशेषताfirstname
अंदर हैeav_attribute
और उसमेंentity_type_id
से अधिकार हैeav_entity_type
?