Ich installiere das Magento 2.3 und erstelle ein benutzerdefiniertes Modul.
Ich weiß jedoch nicht, wie ich eine benutzerdefinierte Datenbanktabelle in der Magento 2.3-Version erstellen soll.
magento2.3
database-schema
harte Khandhar
quelle
quelle
Antworten:
Erstellen Sie zunächst eine
db_schema.xml
Datei/RH/Helloworld/etc
und schreiben Sie den folgenden Code:<table> .. </table>
= "Zum Erstellen und Festlegen des Tabellennamens verwenden"<column> .. </column>
= "Zum Erstellen und Festlegen einer Spalte der Tabelle verwenden"<constraint> .. </constraint>
= "Verwendung für festgelegte Einschränkungen wie Primärschlüssel, Fremdschlüssel, eindeutiger Schlüssel usw."Bevor Sie den Upgrade-Befehl ausführen, müssen Sie Ihr Schema zur
db_whitelist_schema.json
Datei hinzufügen, indem Sie den folgenden Befehl ausführen:Jetzt werden
db_whitelist_schema.json
Dateien im/RH/Helloworld/etc
Ordner erstellt.Jetzt renn los
php bin/magento s:up
Die Tabelle wird in der Datenbank erstellt.
=> Wenn Sie eine Spalte umbenennen möchten, müssen Sie
db_schema.xml
in der entsprechenden Spalte die folgende Zeile einfügen:hier name = "neuer Spaltenname" und onCreate = "migrateDataFrom ()" = "alter Spaltenname"
=> Wenn Sie eine Tabelle löschen möchten, können Sie entweder den gesamten Tabellenknoten aus der XML-Datei entfernen oder das Attribut disabled auf true setzen, wie in der folgenden Zeile angegeben
db_schema.xml
:Weitere Details finden Sie hier .
Hoffe, es wird für Sie hilfreich sein.
quelle
Erstellen Sie eine Datei mit dem Namen db_schema.xml im Ordner etc in einem beliebigen benutzerdefinierten Modul.
Erstellen Sie nun db_whitelist_schema.json unter demselben Pfad
Danach führen Sie einfach php bin / magento setup: upgrade aus . Weitere Informationen finden Sie hier . Lassen Sie es mich wissen, falls Sie weitere Erklärungen benötigen.
quelle
Besuchen Sie diesen Blog. Vollständiges Tutorial zur Implementierung des deklarativen Schemas in Magento 2.3
https://stagebit.com/magento-2/declarative-schema-magento-2-3/
quelle
Magento 2.3-Kernmodule verwendeten anstelle des Setup-Upgrade-Skripts einen deklarativen Schema-Ansatz. Dies ist ein neuer empfohlener Ansatz in Magento 2.3 und höher. Magento 2.3.x arbeitet immer noch mit InstallSchema, InstallData usw.
quelle