माइग्रेशन सहायता (Migration Assistance)
Drupal में «Migrate Drupal» कोर मॉड्यूल Drupal से Drupal में माइग्रेशन के लिए API समर्थन प्रदान करता है, और «Migrate Drupal UI» पुराने संस्करणों से Drupal को अपग्रेड करने के लिए एक सरल उपयोगकर्ता इंटरफ़ेस प्रदान करता है।
Drupal 6 से Drupal 8 और Drupal 7 से Drupal 8 तक के अपडेट एकभाषी साइटों (monolingual sites) के लिए स्थिर हैं। बहुभाषी साइटों के लिए अपग्रेड पथ अभी भी पूर्ण नहीं है। Drupal 6 - Drupal 8 बहुभाषी अपडेट के बारे में संक्षिप्त जानकारी के लिए Drupal 6 से Drupal 8 तक बहुभाषी अपग्रेड देखें और माइग्रेशन से संबंधित समस्याओं की सूची के लिए बहुभाषी माइग्रेशन मेटा-इश्यू देखें। D6-D8 और D7-D8 अपडेट पथों की स्थिरता सुनिश्चित करने के कई तरीके मौजूद हैं।
अपनी साइट का अपग्रेड अच्छी तरह से टेस्ट करें और अपने निष्कर्ष साझा करें
जब आप अपनी Drupal 6 या Drupal 7 साइट को Drupal 8 में अपग्रेड करते हैं, तो उसे ध्यानपूर्वक टेस्ट और वैलिडेट करें। संभव है कि आपको कुछ ऐसा मिले जो अपेक्षित रूप से अपडेट न हुआ हो। जब ऐसा हो:
- पहले जाँचें कि Drupal 6 या 7 से Drupal 8 अपग्रेड करते समय ज्ञात समस्याएँ सेक्शन में यह समस्या सूचीबद्ध है या नहीं।
- यदि आपकी समस्या सूचीबद्ध नहीं है, तो Drupal 6 - Drupal 8 माइग्रेशन खुले इश्यूज़ या Drupal 7 - Drupal 8 माइग्रेशन इश्यूज़ देखें।
- यदि आपको अपनी समस्या से मेल खाता हुआ इश्यू नहीं मिलता, तो कृपया कोर माइग्रेशन सिस्टम इश्यू क्यू में एक नया इश्यू बनाएँ। नया माइग्रेशन बग रिपोर्ट करना एक बहुत ही मूल्यवान योगदान है और माइग्रेशन की स्थिरता सुनिश्चित करने में मदद करता है!
नए इश्यू रिपोर्ट करते समय उन्हें «migration system» कंपोनेंट में असाइन किया जाता है। यह अत्यंत महत्वपूर्ण है कि आप अधिकतम विवरण और जानकारी प्रदान करें।
- जहाँ संभव हो, कृपया पहले (Drupal 6/7) और बाद (Drupal 8) के स्क्रीनशॉट्स दें।
- समस्या को जितना हो सके उतना स्पष्ट रूप से वर्णित करें।
- अपनी साइट पर कोई भी अतिरिक्त जानकारी दें जो इस समस्या से संबंधित हो सकती है।
- एक अच्छे इश्यू रिपोर्ट का उदाहरण: https://www.drupal.org/node/2853872
— संक्षिप्त विवरण, स्क्रीनशॉट और एनोटेशन मूल इश्यू रिपोर्ट में बनाए गए थे।
— समस्या का सारांश बाद में कई बार अपडेट किया गया, क्योंकि विश्लेषण के दौरान और अधिक जानकारी मिली।
— समस्या सारांश को अपडेट करना फिक्स प्रक्रिया का एक महत्वपूर्ण हिस्सा है। कभी-कभी बग फिक्स बहुत जटिल हो सकते हैं, और अद्यतन सारांश बनाए रखना माइग्रेशन मेंटेनर्स और अन्य योगदानकर्ताओं की बहुत मदद करता है।
— संकोच न करें — जितना संभव हो उतना विस्तृत बग रिपोर्ट लिखें!
पैचेस का परीक्षण करने में मदद करें
यदि आप माइग्रेशन फिक्सेस का परीक्षण करने में मदद करना चाहते हैं, तो आपको एक टेस्ट वातावरण सेट करना होगा। हमेशा पैचेस को Drupal 8 dev की नवीनतम संस्करण पर लागू करें।
- पैच लागू करने के लिए git का उपयोग करने पर जानकारी के लिए देखें: Git patch डेवलपर गाइड।
- पैचेस के बारे में सामान्य जानकारी के लिए देखें: शुरुआती गाइड का «पैचेस» सेक्शन।
माइग्रेशन समस्याओं के मूल कारणों को खोजने में मदद करें
यदि आपके पास Drupal और उसके डेटा मॉडल का कुछ अनुभव है, तो आप संभवतः माइग्रेशन त्रुटियों के मूल कारणों को समझने में मदद कर सकते हैं। चूँकि हम डेटा माइग्रेशन की बात कर रहे हैं, सबसे महत्वपूर्ण बात समझना है:
- Drupal 6/7 में स्रोत डेटा कहाँ से आता है।
- और यह Drupal 8 में कहाँ जाना चाहिए।
कुछ टूल्स जो आपको डेटा के स्रोत को समझने में मदद करेंगे:
- Devel मॉड्यूल — Drupal 6/7 में स्रोत डेटा की जाँच के लिए एक उत्कृष्ट टूल।
- phpMyAdmin या कोई अन्य डेटाबेस ब्राउज़र Drupal 6/7 में डेटा स्रोत खोजने में मदद करेगा।
- यदि आप Drupal 6/7 की वह फ़ॉर्म पहचान सकते हैं जहाँ डेटा स्टोर है लेकिन डेटाबेस में डेटा नहीं ढूँढ पा रहे हैं, तो API डॉक्यूमेंटेशन देखें। Drupal 6/7 फ़ॉर्म खोलें, फ़ील्ड कॉपी-पेस्ट करें और Google में खोजें।
site:api.drupal.org <यहाँ वह दर्ज करें जो आप खोजना चाहते हैं>
Drupal 8 में माइग्रेशन कॉन्फ़िगरेशन इस प्रकार पढ़े जा सकते हैं:
- admin/config/development/configuration/single/export
- «Migration» को «Configuration type» के रूप में चुनें।
- वह माइग्रेशन चुनें जिसे आप जाँचना चाहते हैं।
स्वचालित माइग्रेशन टेस्ट्स के बारे में कुछ शब्द
Drupal 8 कोर से संबंधित सभी बग फिक्सेस में स्वचालित टेस्ट कवरेज होना चाहिए। यदि आप टेस्टिंग से परिचित नहीं हैं, तो बिना टेस्ट्स के भी फिक्स सबमिट किए जा सकते हैं। यह अध्याय उन्नत योगदानकर्ताओं के लिए है, जो टेस्ट्स में भाग लेना चाहते हैं।
माइग्रेशन को टेस्ट करना आवश्यक है ताकि टेस्ट बॉट वास्तव में माइग्रेशन चला सके। जब आप D6/D7 से D8 तक कोर माइग्रेशन के लिए टेस्ट लिखते हैं, तो Drupal 8 कोर में शामिल डेटाबेस फिक्स्चर्स का उपयोग किया जाता है:
- core/modules/migrate_drupal/tests/fixtures/drupal6.php
- core/modules/migrate_drupal/tests/fixtures/drupal7.php
- D8 माइग्रेशन टेस्ट्स के लिए डेटाबेस फिक्स्चर्स बनाने के बारे में और जानें
वास्तविक टेस्ट्स आम तौर पर संबंधित मॉड्यूल के कोर टेस्ट्स में परिभाषित किए जाते हैं, जैसे core/modules/comment/tests/src/Kernel/Migrate/d7।