अपग्रेड के लिए दृष्टिकोण का चयन
अवलोकन
Drupal 8 में अपग्रेड की तैयारी करते समय, अपग्रेड दृष्टिकोण की योजना बनाने में कुछ समय खर्च करना उचित है। जबकि आपके पिछले Drupal साइट की सामग्री शायद बिना किसी समस्या के माइग्रेट हो जाएगी, आपके Drupal 8 साइट की कॉन्फ़िगरेशन के लिए कुछ मैनुअल कार्यों की आवश्यकता होगी। उदाहरण के लिए, Views मॉड्यूल में अभी तक कोर में स्वचालित अपग्रेड पथ नहीं है, जिसका अर्थ है कि आपको अपने Drupal 8 साइट पर views मैन्युअली बनाने होंगे। प्रत्येक साइट के लिए सबसे उपयुक्त दृष्टिकोण पर विचार किया जाना चाहिए।
सरल दृष्टिकोण (अपग्रेड के बाद मैनुअल स्टेप्स)
इस दृष्टिकोण में अपग्रेड एक बार किया जाता है और अपग्रेड के बाद के मैनुअल स्टेप्स (जैसे views बनाना) Drupal 8 साइट पर इसके लॉन्च से पहले पूरे किए जाते हैं।
अनुशंसा की जाती है कि पहले एक परीक्षण अपग्रेड करें और सावधानीपूर्वक अपग्रेड के बाद किए जाने वाले मैनुअल स्टेप्स का ट्रैक रखें। यदि आप अपने टेस्ट वातावरण से संतुष्ट हैं, तो उन्हीं स्टेप्स को दोहराएं और प्रोडक्शन वातावरण के लिए एक क्लीन Drupal 8 इंस्टॉलेशन तैयार करें।
यह दृष्टिकोण निम्न तरीकों से लागू किया जा सकता है:
इनक्रिमेंटल अपग्रेड (मैनुअल स्टेप्स के बाद)
अपग्रेड के बाद आवश्यक मैनुअल स्टेप्स की संख्या और जटिलता के आधार पर, पुरानी साइट को ऑफ़लाइन रखना संभव नहीं हो सकता जब आप Drupal 8 साइट पर ये स्टेप्स कर रहे हों। यदि पुरानी साइट ऑनलाइन है, जबकि नई Drupal 8 साइट पर मैनुअल स्टेप्स चल रहे हैं, तो उपयोगकर्ता पुरानी साइट पर कंटेंट बना या अपडेट कर सकते हैं।
Drupal 8 इनक्रिमेंटल अपग्रेड्स का समर्थन करता है। इसका मतलब है कि नए और अपडेटेड कंटेंट को माइग्रेट करने के लिए माइग्रेशन फिर से चलाए जा सकते हैं। अनुशंसा की जाती है कि प्रारंभिक अपग्रेड और इनक्रिमेंटल माइग्रेशन के बीच पुरानी साइट की कॉन्फ़िगरेशन में बदलाव न करें।

यह दृष्टिकोण निम्न तरीकों से लागू किया जा सकता है:
केवल STAGING और PROD वातावरण में कंटेंट माइग्रेशन
Drupal 8 की सबसे शक्तिशाली नई अवधारणाओं में से एक है उन्नत कॉन्फ़िगरेशन मैनेजमेंट सिस्टम, जिसका उपयोग एक वातावरण से दूसरे वातावरण में संपूर्ण Drupal कॉन्फ़िगरेशन डिप्लॉय करने के लिए किया जा सकता है। सबसे सामान्य वातावरण सेटअप DEV (डेवलपमेंट), STAGING (टेस्टिंग), और PROD (प्रोडक्शन) होता है, जिसमें PROD अंतिम उपयोगकर्ताओं के लिए लाइव साइट है। Drupal 8 में सभी कॉन्फ़िगरेशन्स को YAML फाइलों के रूप में एक्सपोर्ट किया जा सकता है और दूसरे वातावरण में इम्पोर्ट किया जा सकता है।
यदि आप DEV, STAGING, और PROD वातावरण का उपयोग करने की योजना बनाते हैं, तो नीचे चित्र में दिखाया गया दृष्टिकोण अपनाया जा सकता है। यह समझना महत्वपूर्ण है कि Drupal एंटिटीज़ को इस प्रकार वर्गीकृत किया जा सकता है:
- कंटेंट एंटिटीज़ (यूज़र्स, नोड्स, टैक्सोनॉमी टर्म्स, ...)
- कॉन्फ़िगरेशन एंटिटीज़ (कंटेंट टाइप्स, फ़ील्ड्स, views, और सभी कॉन्फ़िगरेशन सेटिंग्स)

ऊपर चित्र में अपग्रेड प्रक्रिया:
1. Drupal 8 DEV वातावरण को स्रोत साइट से अपग्रेड किया जाता है।
2. स्रोत साइट ऑनलाइन बनी रहती है (कंटेंट बनाया या अपडेट किया जा सकता है)। इस बीच Drupal 8 DEV वातावरण में कॉन्फ़िगरेशन पूरा किया जाता है।
3. कॉन्फ़िगरेशन को Drupal 8 की कॉन्फ़िगरेशन मैनेजमेंट सिस्टम का उपयोग करके DEV से STAGING में डिप्लॉय किया जा सकता है। आमतौर पर वर्शन कंट्रोल सिस्टम (जैसे Git) का उपयोग किया जाता है।
4. जब STAGING वातावरण की सेटअप पूरी हो जाती है, तो स्रोत साइट से कंटेंट को STAGING में माइग्रेट किया जा सकता है अंतिम स्वीकृति परीक्षण के लिए। जैसे ही परीक्षण संतोषजनक हो जाते हैं, Drupal 8 PROD साइट डिप्लॉय की जाएगी और कंटेंट स्रोत साइट से Drupal 8 PROD में माइग्रेट किया जाएगा।
यह दृष्टिकोण Drush की मदद से अपग्रेड की आवश्यकता रखता है। इस दृष्टिकोण के कुछ विकल्प भी मौजूद हैं।
- यह जानने के लिए कि माइग्रेशन कैसे जेनरेट करें, Drush अपग्रेड पेज देखें।
- Drupal 8 DEV अपग्रेड (ऊपर चित्र का चरण 1) सभी माइग्रेशन्स को
drush migrate-import --allचलाकर किया जा सकता है, या आवश्यक माइग्रेशन्स को एक-एक करकेdrush migrate-import <migration name>का उपयोग करके। - केवल कंटेंट अपग्रेड (ऊपर चित्र का चरण 4) सभी कंटेंट माइग्रेशन्स को
drush migrate:import --tag=Contentचलाकर किया जा सकता है, या इच्छित माइग्रेशन्स को एक-एक करकेdrush migrate-import <migration name>का उपयोग करके। आप इच्छित माइग्रेशन्स को manifest file में भी सूचीबद्ध कर सकते हैं।