आपकी साइट की कॉन्फ़िगरेशन का प्रबंधन
Drupal साइट कॉन्फ़िगरेशन डेटा को एक समान तरीके से संग्रहीत करता है — सक्रिय मॉड्यूलों की सूची से लेकर कंटेंट प्रकारों, टैक्सोनॉमी शब्दकोशों, फ़ील्ड्स और व्यूज़ तक।
लाइव साइट पर कॉन्फ़िगरेशन में परिवर्तन करना अनुशंसित नहीं है। सिस्टम इस तरह से डिज़ाइन किया गया है कि आप मौजूदा कॉन्फ़िगरेशन का उपयोग करके स्थानीय रूप से परिवर्तन का परीक्षण कर सकें, उन्हें फ़ाइलों में निर्यात कर सकें, और फिर उन्हें प्रोडक्शन वातावरण में परिनियोजित कर सकें। आपकी साइट की कॉन्फ़िगरेशन को कोडबेस का हिस्सा बनाकर संस्करण नियंत्रण (version control) के साथ एकीकृत किया जा सकता है।
डिफ़ॉल्ट रूप से “सक्रिय” (active) कॉन्फ़िगरेशन डेटाबेस में संग्रहीत होती है (तालिका “config”)। यह प्रदर्शन और सुरक्षा के कारण है। यह पूरे साइट की वर्तमान कॉन्फ़िगरेशन का प्रतिनिधित्व करती है। कॉन्फ़िगरेशन को YAML फ़ाइलों के रूप में निर्यात और आयात किया जा सकता है — या तो पूरी तरह या एकल कॉन्फ़िगरेशन आइटम के रूप में — Drush और/या Drupal Console या Configuration Manager मॉड्यूल का उपयोग करके। (विवरण नीचे देखें।)
विभिन्न वातावरणों जैसे कि Development, Staging और Production के बीच Drupal इंस्टॉलेशन के कॉन्फ़िगरेशन परिवर्तनों को निर्यात और आयात करने से आप सुरक्षित रूप से परिवर्तन कर सकते हैं और उन्हें वास्तविक साइट पर लागू करने से पहले परीक्षण कर सकते हैं।
यह आपको एक वातावरण से दूसरे वातावरण में कॉन्फ़िगरेशन परिनियोजित करने की अनुमति देता है (Drupal सुरक्षा उपाय के रूप में UUID की तुलना करके यह सुनिश्चित करता है कि यह वही साइट है, इससे पहले कि वह आयात करे)।
मॉड्यूल और थीम की कॉन्फ़िगरेशन फ़ाइलें
मॉड्यूल, डिस्ट्रीब्यूशन और थीम के साथ दी गई डिफ़ॉल्ट कॉन्फ़िगरेशन को तब सक्रिय कॉन्फ़िगरेशन स्टोरेज में आयात किया जाता है जब एक्सटेंशन सक्षम किए जाते हैं। किसी एक्सटेंशन की डिफ़ॉल्ट कॉन्फ़िगरेशन config/install डायरेक्टरी में होती है।
कैसे आयात करें, निर्यात करें और सिंक्रोनाइज़ करें
Configuration Manager कोर मॉड्यूल का उपयोग करके आप साइट कॉन्फ़िगरेशन को आयात, निर्यात और सिंक्रोनाइज़ कर सकते हैं — प्रबंधन › कॉन्फ़िगरेशन › विकास › कॉन्फ़िगरेशन सिंक्रोनाइज़ेशन (admin/config/development/configuration) के माध्यम से। आप आयात करने से पहले परिवर्तनों की समीक्षा कर सकते हैं।
एकल ऑब्जेक्ट को कॉपी/पेस्ट वर्कफ़्लो के माध्यम से भी आयात या निर्यात किया जा सकता है। यह उपयोगी होता है यदि, उदाहरण के लिए, आप केवल एक व्यू को एक वातावरण से दूसरे में स्थानांतरित करना चाहते हैं।
पूरे साइट कॉन्फ़िगरेशन को YAML फ़ाइलों के रूप में tar.gz फ़ाइल में भी निर्यात किया जा सकता है। यह केवल तभी काम करता है जब आप एक ही साइट की दो प्रतियों (जैसे dev और production) के बीच कॉन्फ़िगरेशन स्थानांतरित कर रहे हों, और इसी कारण से दोनों साइटों के UUID समान होने चाहिए।
CLI से साइट UUID जांचने के लिए:
- Drush का उपयोग करते हुए
drush cget system.site
- Drupal Console का उपयोग करते हुए
drupal debug:config system.site
पूर्ण सिंक्रोनाइज़ेशन कार्यप्रवाह के उदाहरण:
सिंक्रोनाइज़ेशन पूरा होने के बाद, सभी परिवर्तन लागू हो जाएंगे — जैसे नए मॉड्यूल, फ़ील्ड्स या कंटेंट टाइप्स का सक्षम होना। संक्षेप में, डेवलपमेंट साइट पर किए गए सभी कॉन्फ़िगरेशन परिवर्तन अब प्रोडक्शन साइट पर सक्रिय हो जाएंगे।
अतिरिक्त जानकारी
यदि आपको Drupal 8 में कॉन्फ़िगरेशन प्रबंधन प्रणाली के बारे में अधिक जानकारी चाहिए, तो आप कॉन्फ़िगरेशन API दस्तावेज़ देख सकते हैं।
क्या करें और क्या न करें
क्या करें:
सख्त अनुशंसा की जाती है कि आप प्रत्येक सिंक्रोनाइज़ेशन से पहले अपनी सक्रिय और स्टेजिंग डायरेक्टरी का डेटाबेस डंप बनाएं। यह डेटाबेस डंप संभावित रोलबैक रणनीति के लिए “आपकी जान बचा सकता है”।
क्या न करें:
अपने साइट पर सक्रिय कॉन्फ़िगरेशन को बदलने के लिए मॉड्यूल की config/install
डायरेक्टरी में फाइलों को संपादित करने का प्रयास न करें।
यह काम नहीं करेगा, क्योंकि Drupal केवल इस डायरेक्टरी से पढ़ता है जब मॉड्यूल स्थापित किया जाता है।
“लाइव” संपादन के लिए आपको drush config-edit या drupal config:edit का उपयोग करना चाहिए।