Chcę szczegółowo poznać różnicę między InstallSchema i InstallData.
Muszę także wiedzieć, kiedy mogę użyć InstallSchema.php
i InstallData.php
?
Chcę szczegółowo poznać różnicę między InstallSchema i InstallData.
Muszę także wiedzieć, kiedy mogę użyć InstallSchema.php
i InstallData.php
?
Odpowiedzi:
Najpierw wywoływana jest zarówno metoda InstallSchema, jak i InstallData podczas instalacji nowego modułu
Skrypty konfiguracji schematu zmieniają schemat bazy danych, tworzą lub zmieniają potrzebne tabele bazy danych. Jeśli moduł się instaluje, wykonywany jest Setup \ InstallSchema :: install ().
Oznacza to, że tworzy nową tabelę i jej pola ze swoją strukturą.
Skrypty instalacyjne InstallData zawierają wpisy, które moduł musi wstawić do bazy danych. Atrybuty, które są domyślnie dostarczane z Magento, strony Cms, różne domyślne grupy i role, są przykładami konfiguracji danych.
Konfiguracja danych jest wykonywana po konfiguracji schematu, działają one w podobny sposób.
Doszli do konkluzji, Główna różnica między nimi polega na tym, że InstallSchema służy do tworzenia tabeli i jej struktury. Podczas gdy InstallData służy do wstawiania / dodawania danych do tabeli.
Customer
, Qoute
, Order
, Catalog
, Product
, Category
.
Istnieją następujące różnice,
InstallSchema
Celem InstallSchema.php jest utworzenie nowej tabeli / atrybutu / pól w bazie danych
InstallData
Celem InstallData.php jest wstawienie danych / wartości do bazy danych.
Magento2 używa plików czterech typów do początkowych operacji związanych z bazą danych, które są wykonywane tylko podczas procesu instalacji modułu (pliki te uruchamiane są tylko raz, gdy tylko istnieją). Te pliki są następujące
- InstallSchema.php
- InstallData.php
- UpgradeSchema.php
- UpgradeData.php
Wszystkie te pliki są obecne w obszarze Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setup
nazw twojego modułu magento. Tutaj opisałem wszystkie pliki z ich użyciem.
InstallSchema.php
Ten plik jest wykonywany jako pierwszy zaraz po rejestracji modułów (oznacza to, że moduł i jego wersje są wprowadzane do tabeli ->
setup_module
). Ten plik służy do tworzenia tabel z atrybutem kolumn w bazie danych, które są później używane przez nowy zainstalowany moduł.
InstallData.php
Ten plik jest wykonywany po
InstallSchema.php
. Służy do dodawania danych do nowo utworzonej tabeli lub dowolnej istniejącej tabeli.
UpgradeSchema.php
Ten plik jest dostarczany z modułem i działa tylko wtedy, jeśli masz już zainstalowane moduły poprzedniej wersji w swoim magento (oznacza, że ma zapis swojej poprzedniej wersji w tabeli ->
setup_module
). Służy do manipulowania tabelą związaną z modułem (oznacza, że służy do zmiany schematu tabeli oznacza atrybut kolumny i do dodania nowej kolumny do tej tabeli).
UpgradeData.php
Ten plik działa po
UpgradeSchema.php
. Ma tę samą koncepcję, coInstallData.php
ma, ale za pomocą tego pliku można zmieniać / modyfikować zawartość bazy danych bez użycia plików modelu. Możesz również użyć tego pliku, aby dodać nową zawartość do bazy danych tego samego nasInstallData.php
. Ale to samoUpgradeSchema.php
, co działa, będzie działać tylko wtedy, jeśli masz te moduły poprzednią wersję zainstalowaną w swoim Magento.
Jak już powiedziałem, uruchamianie tych plików działa tylko raz, więc podstawowym zastosowaniem tych plików jest przygotowanie tabel i danych dla modułu, z którego moduł korzysta przez cały czas jego istnienia.
Uwaga: Magento używa tych plików do tworzenia tabel, które są używane w funkcjach Magentos i do dodawania treści, takich jak cms_contents, grupy klientów i atrybuty, typy produktów i atrybuty, grupy podatków itp.