मैं विवरण में InstallSchema और InstallData के बीच अंतर जानना चाहता हूं।
मुझे यह भी जानना होगा कि मैं कब उपयोग कर सकता हूं InstallSchema.php
और InstallData.php
?
मैं विवरण में InstallSchema और InstallData के बीच अंतर जानना चाहता हूं।
मुझे यह भी जानना होगा कि मैं कब उपयोग कर सकता हूं InstallSchema.php
और InstallData.php
?
जवाबों:
जब आप कोई नया मॉड्यूल स्थापित करते हैं तो पहले InstallSchema और InstallData दोनों विधि को बुलाया जाता है
स्कीमा सेटअप स्क्रिप्ट डेटाबेस स्कीमा को बदलते हैं, वे आवश्यक डेटाबेस टेबल बनाते हैं या बदलते हैं। यदि मॉड्यूल इंस्टॉल हो रहा है, तो सेटअप \ InstallSchema :: install () निष्पादित किया जाता है।
इसका मतलब है कि यह अपनी संरचना के साथ नई तालिका और उसके क्षेत्र बनाते हैं।
InstallData सेटअप स्क्रिप्ट में प्रविष्टियाँ मॉड्यूल डेटाबेस में सम्मिलित करने की आवश्यकता होती है। डिफ़ॉल्ट रूप से Magento के साथ आने वाले गुण, Cms पृष्ठ, विभिन्न डिफ़ॉल्ट समूह और भूमिकाएँ, डेटा सेटअप के सभी उदाहरण हैं।
डेटा सेटअप को स्कीमा सेटअप के बाद निष्पादित किया जाता है, वे इसी तरह से कार्य करते हैं।
तो कंसर्न पर आते हैं, दोनों के बीच मुख्य अंतर है इंस्टाचेमा का उपयोग टेबल और इसकी संरचना बनाने के लिए किया जाता है। जबकि InstallData का उपयोग तालिका में डेटा डालने / जोड़ने के लिए किया जाता है।
Customer
, Qoute
, Order
, Catalog
, Product
, Category
।
निम्नलिखित अंतर हैं,
InstallSchema
InstallSchema.php उद्देश्य डेटाबेस में नई तालिका / विशेषता / फ़ील्ड बनाना है
InstallData
InstallData.php उद्देश्य डेटाबेस में डेटा / मूल्य सम्मिलित करना है।
Magento2 डेटाबेस से संबंधित प्रारंभिक क्रियाओं के लिए चार प्रकार की फ़ाइलों का उपयोग करता है जिन्हें केवल मॉड्यूल की स्थापना प्रक्रिया के साथ निष्पादित किया जाता है (ये फाइलें केवल एक बार उनके अस्तित्व से बाहर चलती हैं)। वे फाइलें इस प्रकार हैं
- InstallSchema.php
- InstallData.php
- UpgradeSchema.php
- UpgradeData.php
ये सभी फाइलें Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setup
आपके Magento मॉड्यूल के नाम स्थान को खा जाती हैं । यहां मैंने उनके उपयोग के साथ सभी फाइलों का वर्णन किया है।
InstallSchema.php
इस फ़ाइल को आपके मॉड्यूल पंजीकरण के ठीक बाद में निष्पादित किया जाता है (इसका मतलब है कि आपके मॉड्यूल और इसके संस्करण प्रविष्टियों को तालिका के बाद किया जाता है ->
setup_module
)। इस फ़ाइल का उपयोग आपके डेटाबेस में उनके कॉलम विशेषता के साथ तालिकाओं को बनाने के लिए किया जाता है जो बाद में नए स्थापित मॉड्यूल द्वारा उपयोग किए जाते हैं।
InstallData.php
इस फ़ाइल को निष्पादित किया जाता है
InstallSchema.php
। इसका उपयोग नव निर्मित तालिका या किसी मौजूदा तालिका में डेटा जोड़ने के लिए किया जाता है।
UpgradeSchema.php
यह फ़ाइल मॉड्यूल के साथ आती है और तभी चलती है, यदि आप पहले से ही उस मॉड्यूल को अपने Magento में स्थापित कर रहे हैं (इसका मतलब है कि इसके पिछले संस्करण की तालिका में प्रविष्टि है ->
setup_module
)। इसका उपयोग मॉड्यूल से संबंधित तालिका में हेरफेर करने के लिए किया जाता है (इसका उपयोग तालिका स्कीमा को बदलने के लिए किया जाता है जिसका अर्थ है स्तंभ विशेषता और उस तालिका में नया स्तंभ जोड़ने के लिए)।
UpgradeData.php
इसके बाद यह फाइल चलती है
UpgradeSchema.php
। इसमें जैसी अवधारणाInstallData.php
है, लेकिन इस फ़ाइल का उपयोग करके आप मॉडल फ़ाइलों के उपयोग के बिना डेटाबेस सामग्री को बदल / बदल सकते हैं। डेटाबेस में नई सामग्री जोड़ने के लिए आप इस फाइल का उपयोग कर सकते हैंInstallData.php
। लेकिन उसी तरहUpgradeSchema.php
यह भी तभी चलेगा जब आप उस मॉड्यूल को पिछले संस्करण में अपने मैग्नेटो में स्थापित कर रहे हैं।
जैसा कि मैंने कहा कि ये फाइलें केवल एक बार शुरू होती हैं इसलिए इस फाइल का मूल उपयोग मॉड्यूल के लिए तालिकाओं और डेटा को तैयार करना है जो मॉड्यूल द्वारा इसके अस्तित्व के माध्यम से उपयोग किया जाता है।
नोट: Magento इन फ़ाइलों का उपयोग Magentos फ़ंक्शंसिटीज़ में उपयोग की जाने वाली तालिकाएँ बनाने और cms_contents, customer_groups और विशेषताएँ, Products_Types और विशेषताएँ, कराधान समूह आदि जैसी सामग्री जोड़ने के लिए करता है।