Differenza tra InstallSchema e InstallData


11

Voglio conoscere la differenza tra InstallSchema e InstallData nei dettagli.

Devo anche sapere quando posso usare InstallSchema.phpe InstallData.php?


Fammi sapere se hai ancora problemi, altrimenti accetta la risposta in modo che altri utenti
vengano

Risposte:


18

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.


Rimedi uso InstallData per l'attributo aggiuntivo per Customer, Qoute, Order, Catalog, Product, Category.
Ketan Borada,

Bene, parzialmente corretto, InstallData viene utilizzato per InsertData dell'attributo (valore dell'attributo) Supponiamo che tu abbia creato una tabella chiamata "Slider" di installSchema Ora devi inserire ogni diapositiva Dati quindi devi usare il file InstallData e definire i dati di ogni diapositiva . Ha senso ?
Manthan Dave,

8

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.


6

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

  1. InstallSchema.php
  2. InstallData.php
  3. UpgradeSchema.php
  4. UpgradeData.php

Tutti questi file sono presenti e hanno mangiato lo Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setupspazio 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 che InstallData.phpha 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 stesso InstallData.php. Ma lo stesso UpgradeSchema.phpfunzionerà 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.


4

C'è una differenza di base tra 2 è

InstallSchema verrà eseguito quando il modulo è installato per configurare la struttura del database

Mentre InstallDataverrà eseguito quando il modulo è installato per inizializzare i dati per la tabella del database

Hoope questo chiaro la tua domanda.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.