Diferencia entre InstallSchema e InstallData

11

Quiero saber la diferencia entre InstallSchema e InstallData en detalles.

También necesito saber cuándo puedo usar InstallSchema.phpy InstallData.php.

Ketan Borada
fuente
Avíseme si todavía tiene algún problema, de lo contrario, acepte la respuesta para que otro usuario reciba ayuda
Manthan Dave

Respuestas:

18

Primero, se instalan ambos métodos InstallSchema e InstallData cuando se instala cualquier módulo nuevo

Los scripts de configuración del esquema cambian el esquema de la base de datos, crean o cambian las tablas de base de datos necesarias. Si el módulo se está instalando, se ejecuta Setup \ InstallSchema :: install ().

Significa que crea una nueva tabla y sus campos con su estructura.

Los scripts de instalación de InstallData contienen entradas que el módulo necesita insertar en la base de datos. Los atributos que vienen con Magento por defecto, las páginas Cms, varios grupos y roles predeterminados, son todos ejemplos de configuración de datos.

La configuración de datos se ejecuta después de la configuración del esquema, funcionan de manera similar.

Llegue a la conclusión, la principal diferencia entre ambos es que InstallSchema se usa para hacer la tabla y su estructura. Mientras que InstallData se usa para insertar / agregar datos en la tabla.

Manthan Dave
fuente
Medios, el uso del atributo InstallData complemento para Customer, Qoute, Order, Catalog, Product, Category.
Ketan Borada
Bien, usted corrige parcialmente, InstallData se usa para Insertar datos del atributo (valor del atributo) Digamos que ha creado una tabla llamada "Control deslizante" por installSchema. Ahora debe insertar cada diapositiva. Luego, debe usar el archivo InstallData y definir los datos de cada diapositiva. . Tener sentido ?
Manthan Dave
8

Hay la siguiente diferencia,

InstallSchema

El propósito de InstallSchema.php es crear una nueva tabla / atributo / campos en la base de datos

InstallData

El propósito de InstallData.php es insertar datos / valores en la base de datos.

Abhishek Tripathi
fuente
6

Magento2 utiliza cuatro tipos de archivos para las operaciones iniciales relacionadas con la base de datos que se ejecutan solo con el proceso de instalación del módulo (estos archivos se ejecutan solo una vez fuera de su existencia). Esos archivos son los siguientes

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

Todos estos archivos están presentes en el Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setupespacio de nombres de su módulo magento. Aquí he descrito todos los archivos con su uso.

InstallSchema.php

Este archivo se ejecuta primero justo después del registro de sus módulos (significa justo después de que su módulo y sus entradas de versión se realicen en la tabla -> setup_module). Este archivo se utiliza para crear tablas con su atributo de columnas en su base de datos que luego utilizará el nuevo módulo instalado.

InstallData.php

Este archivo se ejecuta después InstallSchema.php. Se utiliza para agregar datos a la tabla recién creada o cualquier tabla existente.

UpgradeSchema.php

Este archivo viene con el módulo y se ejecuta solo entonces, si ya tiene la versión anterior de esos módulos instalada en su magento (significa que tiene la entrada de su versión anterior en la tabla -> setup_module). Se usa para manipular la tabla relacionada con el módulo (significa que se usa para alterar el esquema de la tabla significa atributo de columnas y para agregar una nueva columna a esa tabla).

UpgradeData.php

Este archivo se ejecuta después UpgradeSchema.php. Tiene el mismo concepto que InstallData.phptiene, pero al usar este archivo puede cambiar / alterar el contenido de la base de datos sin el uso de archivos de modelo. También puede usar este archivo para agregar contenido nuevo a la base de datos InstallData.php. Pero lo mismo UpgradeSchema.phptambién se ejecutará solo si tiene la versión anterior de los módulos instalada en su magento.

Como dije al comenzar, estos archivos se ejecutan solo una vez, por lo que el uso básico de estos archivos es preparar las tablas y los datos para el Módulo que el módulo ha utilizado a lo largo de su existencia.

Nota: Magento usa estos archivos para crear tablas que se utilizan en las funcionalidades de Magentos y para agregar contenidos como cms_contents, customer_groups & attribute, Products_Types & attribute, Taxation groups, etc.

Abhishek Tripathi
fuente
4

Hay una diferencia básica entre 2 es

InstallSchema se ejecutará cuando se instale el módulo para configurar la estructura de la base de datos

Mientras InstallDatase ejecutará cuando el módulo esté instalado para inicializar los datos para la tabla de la base de datos

Espero que esto borre su consulta.

Kul
fuente