Ich möchte den Unterschied zwischen InstallSchema und InstallData im Detail kennen.
Ich muss auch wissen, wann ich InstallSchema.php
und verwenden kann InstallData.php
?
Ich möchte den Unterschied zwischen InstallSchema und InstallData im Detail kennen.
Ich muss auch wissen, wann ich InstallSchema.php
und verwenden kann InstallData.php
?
Antworten:
Zuerst werden sowohl InstallSchema als auch InstallData beide Methoden aufgerufen, wenn Sie ein neues Modul installieren
Schema-Setup-Skripte ändern das Datenbankschema, sie erstellen oder ändern die erforderlichen Datenbanktabellen. Wenn das Modul installiert wird, wird Setup \ InstallSchema :: install () ausgeführt.
Dies bedeutet, dass eine neue Tabelle und ihre Felder mit ihrer Struktur erstellt werden.
InstallData-Setup-Skripte enthalten Einträge, die das Modul in die Datenbank einfügen muss. Attribute, die standardmäßig mit Magento geliefert werden, Cms-Seiten, verschiedene Standardgruppen und Rollen sind Beispiele für die Dateneinrichtung.
Das Daten-Setup wird nach dem Schema-Setup ausgeführt. Sie funktionieren auf ähnliche Weise.
Kommen Sie also zu dem Schluss, dass der Hauptunterschied zwischen beiden darin besteht, dass InstallSchema zum Erstellen einer Tabelle und ihrer Struktur verwendet wird. Während InstallData zum Einfügen / Hinzufügen von Daten in eine Tabelle verwendet wird.
Customer
, Qoute
, Order
, Catalog
, Product
, Category
.
Es gibt folgenden Unterschied:
InstallSchema
Der Zweck von InstallSchema.php besteht darin, neue Tabellen / Attribute / Felder in der Datenbank zu erstellen
InstallData
Der Zweck von InstallData.php besteht darin, Daten / Werte in die Datenbank einzufügen.
Magento2 verwendet vier Dateitypen für die ersten Operationen im Zusammenhang mit der Datenbank, die nur mit dem Installationsprozess des Moduls ausgeführt werden (diese Dateien werden nur einmal ausgeführt, wenn sie vorhanden sind). Diese Dateien lauten wie folgt
- InstallSchema.php
- InstallData.php
- UpgradeSchema.php
- UpgradeData.php
Alle diese Dateien sind im Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setup
Namensraum Ihres Magento-Moduls vorhanden. Hier habe ich alle Dateien mit ihrer Verwendung beschrieben.
InstallSchema.php
Diese Datei wird zuerst direkt nach der Registrierung Ihres Moduls ausgeführt (dh unmittelbar nachdem Ihr Modul und seine Versionseinträge in der Tabelle vorgenommen wurden ->
setup_module
). Diese Datei wird verwendet, um Tabellen mit ihren Spaltenattributen in Ihrer Datenbank zu erstellen, die später vom neu installierten Modul verwendet werden.
InstallData.php
Diese Datei wird nach ausgeführt
InstallSchema.php
. Es wird verwendet, um der neu erstellten Tabelle oder einer vorhandenen Tabelle Daten hinzuzufügen.
UpgradeSchema.php
Diese Datei wird mit dem Modul geliefert und wird nur dann ausgeführt, wenn Sie bereits die vorherige Version des Moduls in Ihrem Magento installiert haben (bedeutet, dass die vorherige Version in die Tabelle eingetragen wurde ->
setup_module
). Es wird verwendet, um die Tabelle zu bearbeiten, die sich auf das Modul bezieht (bedeutet, dass es verwendet wird, um das Tabellenschema zu ändern, dh das Spaltenattribut und das Hinzufügen einer neuen Spalte zu dieser Tabelle).
UpgradeData.php
Diese Datei wird nach ausgeführt
UpgradeSchema.php
. Es hat das gleiche Konzept wieInstallData.php
zuvor, aber mit dieser Datei können Sie den Datenbankinhalt ohne Verwendung von Modelldateien ändern. Sie können diese Datei auch verwenden, um neue Inhalte zur Datenbank hinzuzufügenInstallData.php
. Aber genauso wieUpgradeSchema.php
es läuft auch nur dann, wenn Sie die Module der vorherigen Version in Ihrem Magento installiert haben.
Wie ich bereits sagte, werden diese Dateien beim Starten nur einmal ausgeführt. Die grundlegende Verwendung dieser Dateien besteht darin, die Tabellen und Daten für das Modul vorzubereiten, das vom Modul während seiner gesamten Existenz verwendet wurde.
Hinweis: Magento verwendet diese Dateien, um Tabellen zu erstellen, die in Magentos-Funktionen verwendet werden, und um Inhalte wie cms_contents, customer_groups & Attribute, Products_Types & Attribute, Steuergruppen usw. hinzuzufügen.
Es gibt einen grundlegenden Unterschied zwischen 2 ist
InstallSchema
wird ausgeführt, wenn das Modul installiert wird, um die Datenbankstruktur einzurichten
While InstallData
wird ausgeführt, wenn das Modul installiert wird, um die Daten für die Datenbanktabelle zu initialisieren
Hoope dies löschen Sie Ihre Anfrage.