InstallSchema और InstallData के बीच अंतर


11

मैं विवरण में InstallSchema और InstallData के बीच अंतर जानना चाहता हूं।

मुझे यह भी जानना होगा कि मैं कब उपयोग कर सकता हूं InstallSchema.phpऔर InstallData.php?


मुझे बताएं कि क्या आपके पास अभी भी कोई मुद्दा है, अन्यथा उत्तर स्वीकार करें ताकि अन्य उपयोगकर्ता को मदद मिले
मंथन डेव

जवाबों:


19

जब आप कोई नया मॉड्यूल स्थापित करते हैं तो पहले InstallSchema और InstallData दोनों विधि को बुलाया जाता है

स्कीमा सेटअप स्क्रिप्ट डेटाबेस स्कीमा को बदलते हैं, वे आवश्यक डेटाबेस टेबल बनाते हैं या बदलते हैं। यदि मॉड्यूल इंस्टॉल हो रहा है, तो सेटअप \ InstallSchema :: install () निष्पादित किया जाता है।

इसका मतलब है कि यह अपनी संरचना के साथ नई तालिका और उसके क्षेत्र बनाते हैं।

InstallData सेटअप स्क्रिप्ट में प्रविष्टियाँ मॉड्यूल डेटाबेस में सम्मिलित करने की आवश्यकता होती है। डिफ़ॉल्ट रूप से Magento के साथ आने वाले गुण, Cms पृष्ठ, विभिन्न डिफ़ॉल्ट समूह और भूमिकाएँ, डेटा सेटअप के सभी उदाहरण हैं।

डेटा सेटअप को स्कीमा सेटअप के बाद निष्पादित किया जाता है, वे इसी तरह से कार्य करते हैं।

तो कंसर्न पर आते हैं, दोनों के बीच मुख्य अंतर है इंस्टाचेमा का उपयोग टेबल और इसकी संरचना बनाने के लिए किया जाता है। जबकि InstallData का उपयोग तालिका में डेटा डालने / जोड़ने के लिए किया जाता है।


मतलब, के लिए ऐड विशेषता के लिए InstallData उपयोग Customer, Qoute, Order, Catalog, Product, Category
केतन बोरदा

वैसे आप आंशिक रूप से सही हैं, InstallData का उपयोग विशेषता के InsertData (विशेषता के मान) के लिए किया जाता है। आपको बता दें कि आपने installSchema द्वारा "स्लाइडर" नामक तालिका बनाई है। अब आपको प्रत्येक स्लाइड डेटा सम्मिलित करने की आवश्यकता है फिर आपको InstallData फ़ाइल का उपयोग करने और प्रत्येक स्लाइड के डेटा को परिभाषित करने की आवश्यकता है। । सही बात ?
मंथन दवे

8

निम्नलिखित अंतर हैं,

InstallSchema

InstallSchema.php उद्देश्य डेटाबेस में नई तालिका / विशेषता / फ़ील्ड बनाना है

InstallData

InstallData.php उद्देश्य डेटाबेस में डेटा / मूल्य सम्मिलित करना है।


6

Magento2 डेटाबेस से संबंधित प्रारंभिक क्रियाओं के लिए चार प्रकार की फ़ाइलों का उपयोग करता है जिन्हें केवल मॉड्यूल की स्थापना प्रक्रिया के साथ निष्पादित किया जाता है (ये फाइलें केवल एक बार उनके अस्तित्व से बाहर चलती हैं)। वे फाइलें इस प्रकार हैं

  1. InstallSchema.php
  2. InstallData.php
  3. UpgradeSchema.php
  4. 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 और विशेषताएँ, कराधान समूह आदि जैसी सामग्री जोड़ने के लिए करता है।


4

2 के बीच बुनियादी अंतर है

InstallSchema डेटाबेस संरचना को सेटअप करने के लिए मॉड्यूल स्थापित होने पर चलेगा

जब InstallDataडेटाबेस डेटाबेस तालिका के लिए डेटा को आरंभ करने के लिए स्थापित किया जाता है, तब चलेगा

इस प्रश्न को स्पष्ट करें।

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