Różnica między InstallSchema i InstallData

11

Chcę szczegółowo poznać różnicę między InstallSchema i InstallData.

Muszę także wiedzieć, kiedy mogę użyć InstallSchema.phpi InstallData.php?

Ketan Borada
źródło
Daj mi znać, jeśli nadal masz jakiś problem, w przeciwnym razie zaakceptuj odpowiedź, aby uzyskać pomoc dla innego użytkownika
Manthan Dave

Odpowiedzi:

19

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.

Manthan Dave
źródło
Środki InstallData stosowanie atrybutu dodawanie na Customer, Qoute, Order, Catalog, Product, Category.
Ketan Borada,
Cóż, częściowo poprawiłeś, InstallData służy do wstawiania danych atrybutu (wartość atrybutu) Powiedzmy, że utworzyłeś tabelę o nazwie „Suwak” przez installSchema Teraz musisz wstawić każdy slajd Dane, następnie musisz użyć pliku InstallData i zdefiniować dane każdego slajdu . Ma sens ?
Manthan Dave
8

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.

Abhishek Tripathi
źródło
6

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

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

Wszystkie te pliki są obecne w obszarze Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setupnazw 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ę, co InstallData.phpma, 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 nas InstallData.php. Ale to samo UpgradeSchema.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.

Abhishek Tripathi
źródło
4

Istnieje podstawowa różnica między 2 to

InstallSchema uruchomi się po zainstalowaniu modułu w celu skonfigurowania struktury bazy danych

Chociaż InstallDatabędzie działać, gdy moduł zostanie zainstalowany, aby zainicjować dane dla tabeli bazy danych

Hoope to wyczyść zapytanie.

Kul
źródło