Diferença entre InstallSchema e InstallData

11

Quero saber a diferença entre InstallSchema e InstallData em detalhes.

Eu também preciso saber quando posso usar InstallSchema.phpe InstallData.php?

Ketan Borada
fonte
Deixe-me saber se você ainda tiver qualquer problema, caso contrário, aceitar a resposta assim que outro usuário fica ajudou
Manthan Dave

Respostas:

18

Primeiro, ambos os métodos InstallSchema e InstallData são chamados quando você instala qualquer novo módulo

Os scripts de configuração do esquema alteram o esquema do banco de dados, eles criam ou alteram as tabelas de banco de dados necessárias. Se o módulo estiver sendo instalado, Setup \ InstallSchema :: install () será executado.

Isso significa que ela cria uma nova tabela e seus campos com sua estrutura.

Os scripts de instalação do InstallData contêm entradas que o módulo precisa inserir no banco de dados. Atributos que acompanham o Magento por padrão, páginas Cms, vários grupos e funções padrão, são exemplos de configuração de dados.

A configuração dos dados é executada após a configuração do esquema, eles funcionam de maneira semelhante.

Então, chegando à conclusão, a principal diferença entre os dois é o InstallSchema que é usado para criar a tabela e sua estrutura. Enquanto InstallData é usado para inserir / adicionar dados na tabela.

Manthan Dave
fonte
Meios uso InstallData para o atributo add para Customer, Qoute, Order, Catalog, Product, Category.
Ketan Borada
Bem, você parcialmente corrige, InstallData é usado para InsertData do atributo (valor do atributo) Digamos que você tenha criado a tabela chamada "Slider" por installSchema Agora você precisa inserir cada slide dos dados e usar o arquivo InstallData e definir os dados de cada slide . Faz sentido ?
Manthan Dave
8

Existem as seguintes diferenças,

InstallSchema

O objetivo do InstallSchema.php é criar uma nova tabela / atributo / campos no banco de dados

InstallData

O objetivo InstallData.php é inserir dados / valor no banco de dados.

Abhishek Tripathi
fonte
6

O Magento2 usa o Four Type de arquivos para as operações Iniciais relacionadas ao banco de dados que são executadas apenas com o processo de instalação do módulo (Esses arquivos são executados apenas uma vez até que existam). Esses arquivos são os seguintes

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

Todos esses arquivos estão presentes no Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setupespaço de nome do seu módulo magento. Aqui eu descrevi todos os arquivos com seu uso.

InstallSchema.php

Este arquivo é executado primeiro logo após o registro do seu módulo (Significa logo após o seu módulo e suas entradas de versão serem feitas na tabela -> setup_module). Esse arquivo é usado para criar tabelas em seu atributo de colunas no banco de dados que são usadas posteriormente pelo novo módulo instalado.

InstallData.php

Este arquivo é executado depois InstallSchema.php. É usado para adicionar dados à tabela recém-criada ou a qualquer tabela existente.

UpgradeSchema.php

Este arquivo vem com o módulo e é executado somente nesse caso, se você já possui a versão anterior desses módulos instalada no seu magento (significa que há entrada da versão anterior na tabela -> setup_module). É usado para manipular a tabela relacionada ao módulo (significa que é usado para alterar o esquema da tabela significa atributo de colunas e para adicionar nova coluna a essa tabela).

UpgradeData.php

Este arquivo é executado depois UpgradeSchema.php. Ele está tendo o mesmo conceito que InstallData.phppossui, mas, usando esse arquivo, é possível alterar / alterar o conteúdo do banco de dados sem o uso de arquivos de modelo. Você também pode usar esse arquivo para adicionar novo conteúdo ao banco de dados, mesmo nós InstallData.php. Mas o mesmo como UpgradeSchema.phpele também será executado somente se você estiver com a versão anterior desses módulos instalada no seu magento.

Como eu disse ao iniciar, esses arquivos são executados apenas uma vez; portanto, o uso básico desses arquivos é preparar as tabelas e os dados para o Módulo que foi usado pelo módulo durante toda a sua existência.

Nota: O Magento usa esses arquivos para criar tabelas que são usadas nas funcionalidades do Magentos e para adicionar conteúdos como cms_contents, customer_groups & attribute, Products_Types & attribute, Taxation groups etc.

Abhishek Tripathi
fonte
4

Existe uma diferença básica entre 2 é

InstallSchema será executado quando o módulo estiver instalado para configurar a estrutura do banco de dados

While InstallDataserá executado quando o módulo estiver instalado para inicializar os dados da tabela de banco de dados

Hoope isso limpar sua consulta.

Kul
fonte