मैगनेटो 2: मुझे कौन सी कमांड चलाना चाहिए?


20

मैं अब 2 महीने से Magento 2 के साथ काम कर रहा हूं । मुझे एहसास हुआ कि मैं bin/magento setup:upgradeबहुत ज्यादा इस्तेमाल कर रहा हूं । मुझे लगता है कि मुझे नहीं पता कि मुझे उस कमांड को कब चलाना है।

यहां वे परिस्थितियां हैं जो मैं पूर्वोक्त कमांड चलाता हूं।

  • जब मैं एक नया मॉड्यूल बनाता हूं,
  • जब मैं सेटअप निर्देशिका में कुछ जोड़ता हूं,
  • जब मैं संपादित करता हूं etc/module.xml,
  • जब मैं संपादित करता हूं etc/di.xml,
  • जब मैं संपादित करता हूं etc/webapi.xml,
  • जब मैं संपादित करता हूं etc/adminhtml/system.xml

प्रश्न: किन परिस्थितियों में bin/magento setup:upgradeकमांड चलाना बिल्कुल आवश्यक है ?

( मैं जो कारण पूछ रहा हूं, वह यह है कि उस आदेश को पूरा करने में कुछ समय लगता है। मेरा मानना ​​है कि यह उत्पादकता में सुधार कर सकता है अगर मैं इसे अनावश्यक रूप से उपयोग करना बंद कर दूं। )

जवाबों:


43

और अधिक पढ़ें: Mageprince ब्लॉग

आपको केवल setup:upgradeकमांड चलाने की आवश्यकता है

1. जब आपने सेटअप स्क्रिप्ट (InstallData, InstallSchema,
UpgradData, UpgradSchema, ...) में परिवर्तन किए

2. यदि आप पहली बार Magento स्थापित करते हैं।

3. नए मॉड्यूल की स्थापना के समय

4. उन्नयन के बाद Magento संस्करण।

setup:upgradeआज्ञा क्या करेंगे?

1)setup_module तालिका में मॉड्यूल संस्करण की जाँच करें

2) यदि संस्करण उपलब्ध नहीं है या मॉड्यूल.xml में नया संस्करण जोड़ा गया है, तो यह सेटअप स्क्रिप्ट चलाएगा और तालिका में नवीनतम संस्करण संख्या जोड़ देगा

यदि आपने HTML, CSS, JS, ... में परिवर्तन किए हैं , तो आपको फ़ाइलों को pub/staticफ़ोल्डर से विशेष रूप से परिवर्तित फ़ाइलों को हटाने या इस कमांड को चलाने की आवश्यकता है

php bin / magento सेटअप: स्थिर-सामग्री: परिनियोजित

संक्षिप्त रूप: php bin / magento s: s: d

यदि आपने __construct () में नई निर्भरता जोड़नेdi.xml जैसे परिवर्तन किए हैं या आपको परिवर्तन करना है , तो आपको var/generationफ़ोल्डर से परिवर्तित फ़ाइलों को हटाने या इस आदेश को चलाने की आवश्यकता है

php बिन / Magento सेटअप: di: संकलन

संक्षिप्त रूप: php bin / magento s: d: c

यदि आपने व्यवस्थापक कॉन्फ़िगरेशन, लेआउट xml, ui घटक, phtml, ... में परिवर्तन किए हैं, तो आपको केवल क्लीन या फ्लश कैश की आवश्यकता है

php bin / magento कैश: फ्लश

संक्षिप्त रूप: php bin / magento c: f


3

1. जब मैं एक नया मॉड्यूल बनाता हूं:

2. जब मैं सेटअप निर्देशिका में कुछ जोड़ता हूं

3. जब मैं आदि / मॉड्यूल को संपादित करता हूं। xml

php bin/magento module:enable
php bin/magento setup:upgrade

4. जब मैं संपादित करता हूं आदि / मॉड्यूल। Xml,

5. जब मैं संपादित करता हूं आदि / di.xml,

6. जब मैं आदि / webapi.xml संपादित करता हूं,

7.जब मैं परिवर्तन संपादित करता / करती हूं / adminhtml / system.xml xml परिवर्तन के लिए कैश फ्लश पर्याप्त से अधिक है:

php bin/magento cache:flush

css और js परिवर्तन: - फ्लश कैश और php bin/magento setup:static-content:deploy


जहां तक ​​मैं समझता हूं, setup:upgradeएक विकल्प के रूप में निष्पादित किया जा सकता है module:enable
जोशुआ बाढ़

क्या कोई स्क्रिप्ट 1 में इन कमांडों को मिलाकर उपलब्ध है?
snh_nl

2

यदि आप डेवलपर मोड के साथ काम करते हैं compilतो आपको संशोधित करते समय ई की आवश्यकता नहीं है xml, आप केवल एक बना सकते हैं setup:upgrade

और अन्य संशोधनों के रूप cssमें phtml, jsकेवल flush cache, आपको स्थैतिक सामग्री को तैनात करने की आवश्यकता नहीं है


नहीं, हमें setup:upgradexml संशोधन के लिए चलाने की आवश्यकता नहीं है । अधिक जानकारी के लिए ऊपरी उत्तर का उल्लेख करें :)
प्रिंस पटेल

1

बस आपको बिन / मैग्नेटो सेटअप चलाने की आवश्यकता है: जब भी आप डेटाबेस में संशोधन करते हैं, तो उसे अपग्रेड करें।

उदाहरण के लिए यदि आप विशेषताएँ (प्रोग्रामिक रूप से), नए मॉड्यूल, संस्करण उन्नयन आदि बना रहे हैं।

तो ध्यान में रखने के लिए मूल नियम है, अगर आपको पता है कि आपका कोड डेटाबेस पर संशोधन करेगा, तो सेटअप चलाएं: कमांड को अपग्रेड करें।


क्या php bin/magento setup:upgradeसेटअप CRON JOB अप्रचलित बनाता है? मैं उलझन में हूँ क्योंकि यह यहाँ एक क्रोनजॉब के रूप में लॉग किया जाता है, जिसे हर मिनट devdocs.magento.com/guides/v2.3/comp-mgr/module-man/…
snh_nl

1

मैंने एक bash फ़ाइल बनाई है जो प्रक्रिया को स्वचालित कर सकती है:

अपने Magento फ़ोल्डर में 'vi magento_bash' टाइप करें और नीचे दिए गए कोड को पेस्ट करें। बचकर फ़ाइल सहेजें: wq और दर्ज करें इससे मदद मिलती है। नोट: नीचे की फ़ाइल एक बार में केवल एक कमांड लेती है।

#!/bin/sh

mainmenu()
{

echo 'Press 1 if you have created a new module'

echo 'Press 2 if you have changed HTML, CSS, JS..'

echo 'Press 3 if you have made changes like add new dependency in __construct() or changes in di.xml'

echo 'Press 4 if you have made changes like admin configuration, layout xml, ui component, phtml'

read -n 1 -p "Input Selection:" mainmenuinput

if [ "$mainmenuinput" = "1" ];
then
    cd src
    php bin/magento setup:upgrade
elif [ "$mainmenuinput" = "2" ];
then
    cd src
    php bin/magento s:s:d en_AU en_US
elif [ "$mainmenuinput" = "3" ];
then
    cd src
    php bin/magento setup:di:compile
elif [ "$mainmenuinput" = "4" ];
then
    cd src
    php bin/magento cache:flush
else
    echo 'You have selected an invalid selection'
fi
}

mainmenu

hi_s ssd कमांड के पीछे en_US?
snh_nl

0

जब आप अपने कोड को मैन्युअल रूप से तैनात कर रहे हैं। उपर्युक्त सभी तरीके समय बचाने के लिए पर्याप्त हैं।

यदि आपके पास जेनकिंस या कुछ अन्य उपकरणों के माध्यम से ऑटो परिनियोजन है, तो आपको सभी कमांड चलाने चाहिए क्योंकि उपकरण को यह नहीं पता है कि आपने क्या किया है और कौन सी फाइल बदल दी गई है।

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