Хочу детально знати різницю між InstallSchema та InstallData.
Мені також потрібно знати, коли можна використовувати InstallSchema.php
і InstallData.php
?
Хочу детально знати різницю між InstallSchema та InstallData.
Мені також потрібно знати, коли можна використовувати InstallSchema.php
і InstallData.php
?
Відповіді:
Спочатку обидва способи InstallSchema та InstallData викликаються при встановленні будь-якого нового модуля
Сценарії налаштування схем змінюють схему бази даних, вони створюють або змінюють потрібні таблиці баз даних. Якщо модуль встановлюється, виконується Setup \ InstallSchema :: install ().
Це означає, що він створює нову таблицю та її поля зі своєю структурою.
Сценарії настройки InstallData містять записи, які модуль потрібно вставити в базу даних. Атрибути, які постачаються за допомогою Magento за замовчуванням, сторінки Cms, різні групи за замовчуванням та ролі - все це приклади налаштування даних.
Налаштування даних виконується після установки схеми, вони функціонують аналогічно.
Отже, підійдіть до висновку, головна відмінність обох полягає в тому, що InstallSchema використовується для створення таблиці та її структури. У той час як InstallData використовується для вставки / додавання даних у таблицю.
Customer
, Qoute
, Order
, Catalog
, Product
, Category
.
Є наступні відмінності,
InstallSchema
Метою InstallSchema.php є створення нової таблиці / атрибута / полів у базі даних
InstallData
Мета InstallData.php - вставити дані / значення в базу даних.
Magento2 використовує чотири типи файлів для початкових операцій, пов’язаних із базою даних, які виконуються просто з монтажем модуля (ці файли запускаються лише один раз із часу їх існування). Ці файли такі
- InstallSchema.php
- InstallData.php
- UpgradeSchema.php
- UpgradeData.php
Усі ці файли представлені Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setup
простором імені вашого модуля magento. Тут я описав усі файли з їх використанням.
InstallSchema.php
Цей файл виконується спочатку відразу після реєстрації ваших модулів (Значить відразу після того, як ваш модуль та записи його версії будуть внесені до таблиці ->
setup_module
). Цей файл використовується для створення таблиць з атрибутом їх стовпців у вашій базі даних, які згодом використовуються новим встановленим модулем.
InstallData.php
Цей файл виконується після
InstallSchema.php
. Він використовується для додавання даних до новоствореної таблиці або будь-якої існуючої таблиці.
UpgradeSchema.php
Цей файл постачається з модулем і запускається лише тоді, якщо у вас вже встановлена попередня версія цих модулів у вашому магенто (означає, що в його таблицю записано попередню версію ->
setup_module
). Він використовується для маніпулювання таблицею, пов'язаною з модулем (означає, що використовується для зміни схеми таблиці, атрибута стовпців та додавання нового стовпця до цієї таблиці).
UpgradeData.php
Цей файл працює після
UpgradeSchema.php
. Він має таку ж концепцію, що і вInstallData.php
ньому, але, використовуючи цей файл, ви можете змінювати / змінювати вміст бази даних без використання файлів моделі. Ви також можете скористатися цим файлом, щоб додати новий вміст до бази даних, як і миInstallData.php
. Але такий же, якUpgradeSchema.php
він, також працює лише тоді, якщо у вас буде встановлена попередня версія цих модулів у вашому магенто.
Як я вже говорив, запуск цих файлів запускається лише один раз, тому основне використання цих файлів полягає в підготовці таблиць і даних для модуля, який модуль використовує протягом свого існування.
Примітка: Magento використовує ці файли для створення таблиць, які використовуються у функціоналах Magentos, і для додавання вмісту, наприклад cms_contents, customer_groups & attributes, Products_Types & attributes, Групи оподаткування тощо.