मैंने स्थानीय रूप से उत्पादन से एक बैकअप बहाल किया और चीजों को स्थानांतरित करने के लिए और व्यवस्थापक / मॉड्यूल को हिट करने या रजिस्ट्री_ट्रिप () चलाने के लिए कोशिश की, लेकिन यह घातक त्रुटियों को फेंकने से नहीं रोक पाया। यह मेरे लिए समझ में आता है क्योंकि कुछ मॉड्यूल अपने हुक_इनिट () में शामिल या जो कुछ भी उपयोग कर सकते हैं, या आपके पास एक मेनू राउटर पथ सेट हो सकता है जो एक मॉड्यूल पर निर्भर करता है या जिसमें ड्रुपल बूटस्ट्रैप पर नहीं मिल सकता है। अंततः, मैंने यही किया है (आपके रास्ते अलग हो सकते हैं):
चरण 1: साइटों / सभी / मॉड्यूल को साइटों / सभी / मॉड्यूल / कंट्रीब से बदलें
UPDATE system SET filename = REPLACE(filename, 'sites/all/modules', 'sites/all/modules/contrib');
UPDATE registry SET filename = REPLACE(filename, 'sites/all/modules', 'sites/all/modules/contrib');
UPDATE registry_file SET filename = REPLACE(filename, 'sites/all/modules', 'sites/all/modules/contrib');
चरण 2: साइटों को बदलें / सभी / मॉड्यूल / साइटों के साथ कंट्रीब / कस्टम नेमस्पेस वाले मॉड्यूल के लिए सभी / मॉड्यूल / कस्टम
UPDATE system SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/custom') WHERE name LIKE 'my_custom_namespace_%';
UPDATE registry SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/custom') WHERE name LIKE 'my_custom_namespace_%';
UPDATE registry_file SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/custom') WHERE filename LIKE '%my_custom_namespace_%';
चरण 3: देव मॉड्यूल को साइटों / सभी / मॉड्यूल / देव में ले जाएँ
UPDATE system SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/dev') WHERE name LIKE 'devel%';
UPDATE registry SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/dev') WHERE name LIKE 'devel%';
UPDATE registry_file SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/dev') WHERE filename LIKE '%devel%';
चरण 4: कैश साफ़ करें ताकि चीजें ठीक से बूटस्ट्रैप हो जाए
TRUNCATE TABLE cache
TRUNCATE TABLE cache_bootstrap
TRUNCATE TABLE cache_menu
TRUNCATE TABLE cache_page
TRUNCATE TABLE cache_path
नोट: यदि आप एक कस्टम मॉड्यूल या 403 को संभालने के लिए LoginToboggan जैसे एक कंट्रास्ट का उपयोग करते हैं (प्रवेश निषेध) और आप इस प्रक्रिया के दौरान लॉग आउट हो गए हैं, तो आपको शामिल फ़ाइल के लिए नए पथ का उपयोग करने के लिए तालिका include_file
में कॉलम को अपडेट करने की आवश्यकता हो सकती है। menu_roter
। यह शायद एक दुर्लभ घटना है।
UPDATE menu_router SET include_file = 'sites/all/modules/custom/my_custom_namespace/includes/foo.inc' WHERE path = 'access-denied'
एक बार इन प्रश्नों के चलने के बाद - जो केवल एक दूसरे विभाजन - हिट एडमिन / डेवलपमेंट / प्रदर्शन को ले जाएगा और कैश को साफ़ कर देगा ताकि मेनू पथ पुन: निर्माण हो सके।
registry_file
तालिका को भी समाप्त कर सकते हैं , जो सभी फाइलों को फिर से बनाने और तालिका के पुनर्निर्माण के लिए ड्रूपल को मजबूर करेगा।