Voglio conoscere la differenza tra InstallSchema e InstallData nei dettagli.
Devo anche sapere quando posso usare InstallSchema.php
e InstallData.php
?
Voglio conoscere la differenza tra InstallSchema e InstallData nei dettagli.
Devo anche sapere quando posso usare InstallSchema.php
e InstallData.php
?
Risposte:
Innanzitutto entrambi i metodi InstallSchema e InstallData vengono chiamati quando si installa un nuovo modulo
Gli script di configurazione dello schema cambiano lo schema del database, creano o cambiano le tabelle del database necessarie. Se il modulo viene installato, viene eseguito Setup \ InstallSchema :: install ().
Vuol dire che crea una nuova tabella e i suoi campi con la sua struttura.
Gli script di installazione di InstallData contengono voci che il modulo deve inserire nel database. Gli attributi forniti con Magento per impostazione predefinita, le pagine Cms, i vari gruppi e ruoli predefiniti, sono tutti esempi di configurazione dei dati.
La configurazione dei dati viene eseguita dopo la configurazione dello schema, funzionano in modo simile.
Quindi vieni alla conclusione, la differenza principale tra entrambi è che InstallSchema viene utilizzato per creare la tabella e la sua struttura. Mentre InstallData viene utilizzato per inserire / aggiungere dati nella tabella.
Customer
, Qoute
, Order
, Catalog
, Product
, Category
.
Ci sono le seguenti differenze,
InstallSchema
Lo scopo di InstallSchema.php è quello di creare una nuova tabella / attributo / campi nel database
InstallData
Lo scopo di InstallData.php è quello di inserire dati / valore nel database.
Magento2 utilizza quattro tipi di file per le operazioni iniziali relative al database che vengono eseguite solo con il processo di installazione del modulo (questi file vengono eseguiti solo una volta al di fuori della loro esistenza). Tali file sono i seguenti
- InstallSchema.php
- InstallData.php
- UpgradeSchema.php
- UpgradeData.php
Tutti questi file sono presenti e hanno mangiato lo Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setup
spazio dei nomi del modulo magento. Qui ho descritto tutti i file con il loro uso.
InstallSchema.php
Questo file viene eseguito prima subito dopo la registrazione dei moduli (significa subito dopo che il modulo e le voci della sua versione sono state inserite nella tabella ->
setup_module
). Questo file viene utilizzato per creare tabelle con l'attributo delle colonne nel database che verranno successivamente utilizzate dal nuovo modulo installato.
InstallData.php
Questo file viene eseguito dopo
InstallSchema.php
. Viene utilizzato per aggiungere dati alla tabella appena creata o a qualsiasi tabella esistente.
UpgradeSchema.php
Questo file viene fornito con il modulo e viene eseguito solo allora, se hai già installato quei moduli versione precedente nel tuo magento (Significa che ha la voce della sua versione precedente nella tabella ->
setup_module
). Viene utilizzato per manipolare la tabella relativa al modulo (Significa che viene utilizzato per modificare lo schema della tabella significa attributo colonne e per aggiungere una nuova colonna in quella tabella).
UpgradeData.php
Questo file viene eseguito dopo
UpgradeSchema.php
. Sta avendo lo stesso concetto cheInstallData.php
ha ma usando questo file è possibile cambiare / alterare il contenuto del database senza l'uso di file modello. È inoltre possibile utilizzare questo file per aggiungere nuovi contenuti al database stessoInstallData.php
. Ma lo stessoUpgradeSchema.php
funzionerà anche solo se hai quei moduli con la versione precedente installata nel tuo magento.
Come ho detto all'inizio, questi file vengono eseguiti solo una volta, quindi l'uso di base di questi file è di preparare le tabelle e i dati per il Modulo che viene utilizzato dal modulo per tutta la sua esistenza.
Nota: Magento utilizza questi file per creare tabelle che vengono utilizzate nelle funzionalità di Magentos e per aggiungere contenuti come cms_contents, customer_groups e attributi, Products_Types e attributi, gruppi di tassazione ecc.