Instaluję magento 2.3 i tworzę niestandardowy moduł.
Ale nie wiem, jak utworzyć niestandardową tabelę bazy danych w wersji magento 2.3.
magento2.3
database-schema
surowy khandhar
źródło
źródło
Odpowiedzi:
Przede wszystkim utwórz
db_schema.xml
plik w środku/RH/Helloworld/etc
i napisz następujący kod:<table> .. </table>
= "Użyj do utworzenia i ustawienia nazwy tabeli"<column> .. </column>
= "Użyj do utworzenia i ustawienia kolumny tabeli"<constraint> .. </constraint>
= "Użyj do ustawienia ograniczenia, takiego jak klucz podstawowy, klucz obcy, klucz unikalny itp."Przed uruchomieniem polecenia aktualizacji należy dodać schemat do
db_whitelist_schema.json
pliku, uruchamiając następujące polecenie:Teraz
db_whitelist_schema.json
w/RH/Helloworld/etc
folderze zostaną utworzone pliki .A teraz biegnij
php bin/magento s:up
Tabela zostanie utworzona w bazie danych.
=> Jeśli chcesz zmienić nazwę kolumny, musisz ustawić poniżej wiersza w
db_schema.xml
odpowiedniej kolumnie:tutaj name = "nowa nazwa kolumny" i onCreate = "migrateDataFrom ()" = "stara nazwa kolumny"
=> Jeśli chcesz usunąć tabelę, możesz albo usunąć cały węzeł tabeli z pliku xml, albo możesz ustawić atrybut disabled na true, tak jak poniżej linii w twoim
db_schema.xml
:Aby uzyskać więcej informacji, możesz sprawdzić tutaj .
Mam nadzieję, że to ci pomoże.
źródło
Utwórz plik o nazwie db_schema.xml w folderze etc w dowolnym module niestandardowym.
Teraz utwórz db_whitelist_schema.json przy tej samej ścieżce
Następnie wystarczy uruchomić konfigurację php bin / magento: upgrade . Aby uzyskać więcej informacji, możesz sprawdzić tutaj . Daj mi znać, jeśli potrzebujesz więcej wyjaśnień na ten temat.
źródło
W podstawowych modułach Magento 2.3 zastosowano skrypt deklaratywny zamiast skryptu aktualizacji instalatora. Jest to nowe zalecane podejście w Magento 2.3 i nowszych. Magento 2.3.x nadal działa z InstallSchema, InstallData, itp.
źródło