छोटी परियोजनाओं के लिए, हम अभी भी आपकी वर्तमान प्रक्रिया के समान कुछ करते हैं जिसमें हम लाइव उपयोगकर्ताओं को संपादन अधिकारों के साथ सभी उपयोगकर्ताओं को अवरुद्ध करके, डेटाबेस को डंप करने, इसे चरण चरण में अपलोड करने, सभी अपडेट करने के लिए केवल लॉक इंस्टेंस को लॉक करते हैं। हम वहाँ की जरूरत है और एक बार परिणामों से संतुष्ट हैं, हम चरण उदाहरण स्विच अगले लाइव संस्करण बन गया। लेकिन यहां तक कि छोटे उदाहरणों के लिए यह दर्दनाक और एक अच्छे समाधान से बहुत दूर है।
दो बड़ी परियोजनाओं में, हम जेरेमी के समान नाव में हैं, जिसमें पूरा सेटअप पूर्ण डेटाबेस डंप को तैनात करने के लिए जटिल है, खासकर जब से हम केवल कुछ मोड पढ़ने के लिए उदाहरणों को लॉक करने का जोखिम नहीं उठा सकते हैं अद्यतन।
उन लोगों के लिए, हमने कुछ विस्तार के लिए Migraine का उपयोग किया है (this related discussion भी देखें)। यह एक ड्रूपल मॉड्यूल नहीं है बल्कि एक अजगर लिपि है जिसे हमने अपनी जरूरतों के लिए थोड़ा सा अनुकूलित किया है। इसका उद्देश्य कुछ संरचित डंप बनाना है, जो उपयोगकर्ताओं को आपूर्ति की गई सामग्री को अन्य सेटिंग्स से अलग करता है, इस प्रकार अधिक चुनिंदा अपडेट और स्टेजिंग रणनीतियों की अनुमति देता है। लेकिन इस दृष्टिकोण का उपयोग करते हुए कम या ज्यादा अराजक ड्रोपल डेटाबेस संरचना (विशेष रूप से रेफरेंशियल अखंडता प्रवर्तन की कमी) को देखते हुए, नए मॉड्यूल जोड़ते समय लगातार ट्विकिंग की आवश्यकता होती है और यह बहुत जोखिम भरा होता है, क्योंकि किसी को केवल सुसंगत सेट को डंप/अपडेट करने के लिए अतिरिक्त सुनिश्चित करने की आवश्यकता होती है टेबल।
हम अपने कस्टम मॉड्यूल के अपडेट फ़ंक्शंस का उपयोग करके 'थोक' डंप/अपडेट ऑपरेशंस की आवश्यकता को कम करने की कोशिश करते हैं और मुझे जेरेमी फ्रांसीसी को अन्य के लिए अपडेट फ़ंक्शंस जोड़ने की क्षमता के लिए 'डमी' मॉड्यूल जोड़ने का सुझाव पसंद है सेटिंग्स!
सब कुछ, ड्रोपल उदाहरणों को अद्यतन/माइग्रेट करना अभी एक बड़ा दर्द है और मुझे उम्मीद है कि भविष्य के संस्करणों में एक और सुसंगत समाधान होगा, हालांकि मैं देख सकता हूं कि सामान्यीकृत दृष्टिकोण के साथ आना मुश्किल है वर्तमान डेटाबेस स्कीमा और वहाँ व्यक्ति परिवर्धन के साथ कस्टम मॉड्यूल की राशि:/
पुनश्च: Backup and Migrate एक Drupal मॉड्यूल एक दृष्टिकोण माइग्रेन स्क्रिप्ट के समान लेने के लिए लगता है कि है, लेकिन मैं इसे इस्तेमाल नहीं किया है अभी तक।
स्रोत
2009-10-01 12:17:47
+1 - कस्टम अपडेट फ़ंक्शंस के लिए अनुमति देने के लिए 'डमी' मॉड्यूल का उपयोग करने का अच्छा विचार। –
@ जेरेमी: मुझे आपका दृष्टिकोण बहुत दिलचस्प लगता है, यह देखते हुए कि मॉड्यूल सभी चीजों के लिए काम नहीं करता है। लेकिन मैं सोच रहा हूं कि आप सभी प्रकार की चीजों के लिए udpate कोड लिखने के लिए कैसे प्रबंधित करते हैं, जो एक ड्रूपल व्यवस्थापक के रूप में करता है। उदाहरण के लिए, मैं सभी अनुवाद/लोकेल से संबंधित मॉड्यूल सक्षम करता हूं और फिर अपने सभी मेनू में मेनू आइटम के अनुवादित संस्करण बना देता हूं। आप यह जानने के लिए कहां जाएंगे कि इसके लिए अपडेट फ़ंक्शंस में कौन सा कोड लिखना है? –