Magento 1.7: reindex product_flat_data नहीं कर सकता


10

मैं अपने Magento डेटाबेस को फिर से जोड़ने की कोशिश करते हुए निम्नलिखित त्रुटि प्राप्त करता हूं ..

उत्पाद फ़्लैट डेटा इंडेक्स प्रक्रिया अज्ञात त्रुटि: संदेश 'SQLSTATE [23000] के साथ अपवाद' PDOException ': अखंडता बाधा> उल्लंघन: 1452 चाइल्ड रो को जोड़ या अपडेट नहीं कर सकता: एक विदेशी कुंजी बाधा विफल (> d014505f; CONSTRAINT> FK_CAT_PRD_FLAT_1_ENTT_ID_CAT_PRD_ENTT_ENTT_IDFOREIGN KEY entity_id) ( )>। संदर्भ catalog_product_entity() e) ’में / / / www.tdocs/w00f5624/lib/Zend/Db/Statement/Pdo.php:228

मैं इसे कैसे ठीक करूं??

जवाबों:


28

जैसा कि सैंडर द्वारा सही ढंग से कहा गया है, उत्पाद फ्लैट टेबल में मौजूद हटाए गए उत्पाद अभी भी इस त्रुटि का कारण हैं। वैसे भी, पूरी मेज को रौंदना जरूरी नहीं होगा। आप इस SQL- क्वेरी द्वारा इन उत्पादों को पा सकते हैं:

SELECT pf1.entity_id
FROM catalog_product_flat_1 pf1
LEFT JOIN catalog_product_entity p ON pf1.entity_id = p.entity_id
WHERE ISNULL( p.entity_id ) 

फिर आपको इन वस्तुओं को हटाना पड़ेगा, जिन्हें इस SQL-क्वेरी का उपयोग करके किया जा सकता है:

DELETE pf1.*
FROM catalog_product_flat_1 pf1
LEFT JOIN catalog_product_entity p ON pf1.entity_id = p.entity_id
WHERE ISNULL( p.entity_id ) 

यहाँ से लिया गया (जर्मन): http://www.avs-webentwicklung.de/nc/blog/artikel/magento-fehler-beim-index-aufbau-sofortmassn_men.html

मुझसे पूछें कि क्या आपको अधिक सलाह की आवश्यकता है।


अच्छी क्वेरी, क्या आप समय-समय पर सफाई कार्य के लिए या आवश्यकता होने पर उनका उपयोग करते हैं?
Sander Mangel

धन्यवाद :) पहले एक के लिए क्रेडिट लिंक लेखक के हैं, हालांकि। मैं केवल उनका उपयोग करता हूं जब ऐसी त्रुटि होती है, जो कि ज्यादातर तब होती है जब डेटा को सीधे डेटाबेस से हटा दिया जाता है, अर्थात एमएएमएमआई के साथ। और वे अभी भी दुर्लभ हैं। मुझे इसका समय-समय पर उपयोग नहीं करना था, हालांकि मुझे लगता है कि यह संभव होगा। जब आप मैन्युअल रूप से उत्पादों का प्रबंधन करते हैं, तो Magento सेव / ऑन डिलीट (जब इंडेक्स ठीक से कॉन्फ़िगर किए जाते हैं) पर इंडेक्स टेबल्स का ख्याल रखता है।
simonthesorcerer

कुछ स्पष्टीकरण यहां देखे
Dmytro Zavalkin

@simonthesorcerer धन्यवाद, यह इस त्रुटि को हल करने में मेरी मदद करता है :)
बिजल भावसार

4

मैं इस मुद्दे को पहले था। मैंने इसे product_flat_data तालिकाओं को काट-छाँट करके हल किया और बाद में reindexing किया। यह गैर मौजूदा उत्पादों के कारण है जो अभी भी तालिका में मौजूद हैं।


हैलो सैंडर, मैंने समाधान की कोशिश की है, लेकिन मेरे लिए कुछ भी नहीं हुआ है मैंने कैटलॉग_प्रोडक्ट_फ्लैट_1 को भी काट दिया है लेकिन उत्पाद विशेषताओं के लिए अनुक्रमणिका काम नहीं कर रही है।
सर्वग्य
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.