Magento 2 में config.php को कैसे प्रबंधित करें


15

सबसे पहले, यह शायद एक पहले से ही उत्तर दिया गया प्रश्न है लेकिन मुझे उस विषय के बारे में कुछ भी नहीं मिला।

यह एक मुद्दा नहीं है, लेकिन config.phpमैगेंटो 2 में फ़ाइल को प्रबंधित करने के सर्वोत्तम तरीके के बारे में एक प्रश्न है ।
वास्तव में हमारा config.phpसंस्करण (एम 2 .gitignoreफ़ाइल में डिफ़ॉल्ट रूप से ) नहीं है, इसलिए यह हमारे भंडार में नहीं है। समस्या तब होती है जब कोई व्यक्ति इस फ़ाइल को स्थापित करता है, लेकिन उसके पास पहले से ही डेटाबेस है, इसलिए वह bin/magento setup:install ...फ़ाइल को बनाने के लिए नहीं चल सकता है ।
हम जानते हैं कि bin/magento setup:upgradeगैर-घोषित मॉड्यूल जोड़ें, config.phpलेकिन केवल अगर फ़ाइल मौजूद है और bin/magento module:enableमॉड्यूल जोड़ सकते हैं, लेकिन हम लॉन्च करने से बचना चाहेंगे कि हर बार हम परियोजना को तैनात या स्थापित करें।

मेरा प्रश्न (ओं):
- हम दूर करने के लिए है config.phpसे .gitignoreसंस्करण है और यह?
- क्या हमें इसे रिपॉजिटरी में पहली बार जोड़ना है और इसे .gitignoreबाद में आने देना है ?
- इस फ़ाइल को प्रबंधित करने का सबसे अच्छा तरीका क्या है?


1
2.2 के बाद से, वीसीएस में जोड़ने का सुझाव दिया गया है
weynhamz

हाय @TechliveZheng जानकारी के लिए धन्यवाद! क्या आपके पास इसके लिए कोई स्रोत / स्पष्टीकरण है?
मथेओ जियोफ्रे 13

जवाबों:


15

सबसे पहले, बहुत अच्छा सवाल।
लेकिन ... मैं इससे सहमत नहीं हूं:

समस्या यह है कि जब कोई इस परियोजना को स्थापित करता है तो उसके पास यह फाइल नहीं होती है लेकिन उसके पास पहले से ही डेटाबेस होता है इसलिए वह नहीं चल सकता है bin/magento setup:install...

मैं कहूंगा कि जब आप प्रोजेक्ट स्थापित करते हैं, यदि आपके पास पहले से ही डेटाबेस है, तो आपको config.phpफाइल उसी जगह से लेनी चाहिए जहां आपको डेटाबेस मिला था।
इस तरह आपको दौड़ना नहीं है setup:installऔर आपके पास सब कुछ होना चाहिए जैसा कि होना चाहिए।

मैं निम्नलिखित परिदृश्य के कारण इस फ़ाइल को संस्करणित करने की अनुशंसा नहीं करूंगा।

  • आप देव एनवी पर एक नया मॉड्यूल जोड़ते हैं।
  • आप चलाते हैं setup:upgradeतो मॉड्यूल में नहीं दिखता हैconfig.php
  • आप अपना कोड बनाते हैं और इसे दूसरे env पर तैनात करते हैं।
  • आपके अन्य env उदाहरण को लगता है कि आपका नया मॉड्यूल पहले से ही स्थापित है और आपको एक त्रुटि मिलती है।

इसलिए मुझे लगता है कि सबसे अच्छा समाधान (IMO) सिर्फ संस्करण नहीं होगा और यह आपके मामले पर निर्भर करता है:

  • आप प्रोजेक्ट और डेटाबेस को कहीं और क्लोन करते हैं, आपको config.phpफ़ाइल को क्लोन करना चाहिए (साथ ही अन्य जैसे pub/media) तो आपके पास पुराना डेटा नहीं होगा।
  • आप केवल रेपो में फ़ाइलों को क्लोन करते हैं और एक साफ स्लेट पर शुरू करते हैं config.php, कॉपी नहीं करते हैं , बस इंस्टॉलर चलाएं जो आपके लिए यह पैदा करेगा।

मैंने इस समाधान के बारे में नहीं सोचा था, यह सबसे व्यावहारिक प्रतीत नहीं होता है, लेकिन आप सही हैं वास्तव में यह वह है जो सबसे तर्कसंगत लगता है। हम इस तरह से परीक्षण करेंगे। यदि वह आपको परेशान नहीं करता है तो मैं आपके जवाब को स्वीकार करने के लिए दिन के अंत तक इंतजार करूंगा शायद अन्य सलाह दी जाए। वैसे भी धन्यवाद !
मथेओ जियोफ्रे

मैंने रेपो से config.php को हटाने की कोशिश की और इसे .gitignore में जोड़ दिया। जब यह (डेवलपर मोड में) मौजूद नहीं था, तो एक अन्य वातावरण एक नई config.php फ़ाइल उत्पन्न करने में विफल रहा।
ढाका

"असफल" से आपका क्या मतलब है? क्या आपने इसे किसी अलग एनवी पर स्थापित करने की कोशिश की?
मेरियस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.