Я хочу узнать разницу между 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
Этот файл поставляется с модулем и запускается только тогда, если у вас уже установлены предыдущие версии этих модулей в вашем magento (означает, что он имеет запись своей предыдущей версии в таблице ->
setup_module
). Он используется для управления таблицей, связанной с модулем (означает, что он используется для изменения схемы таблицы, означает атрибут столбцов и добавляет новый столбец в эту таблицу).
UpgradeData.php
Этот файл запускается после
UpgradeSchema.php
. У него та же концепция, что иInstallData.php
у, но с помощью этого файла вы можете изменять / изменять содержимое базы данных без использования файлов моделей. Вы также можете использовать этот файл, чтобы добавить новый контент в базу данных так же, как мыInstallData.php
. Но так же, какUpgradeSchema.php
он будет работать только тогда, если у вас установлены предыдущие версии этих модулей в вашем magento.
Как я уже сказал, при запуске эти файлы запускаются только один раз, поэтому основное использование этих файлов - это подготовка таблиц и данных для модуля, который использовался модулем в течение его существования.
Примечание: Magento использует эти файлы для создания таблиц, которые используются в функциональных возможностях Magentos и для добавления содержимого, такого как cms_contents, customer_groups & attribute, Products_Types & attribute, Taxation groups и т. Д.