Хочу детально знати різницю між 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, Групи оподаткування тощо.