Quero saber a diferença entre InstallSchema e InstallData em detalhes.
Eu também preciso saber quando posso usar InstallSchema.php
e InstallData.php
?
Quero saber a diferença entre InstallSchema e InstallData em detalhes.
Eu também preciso saber quando posso usar InstallSchema.php
e InstallData.php
?
Respostas:
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.
Customer
, Qoute
, Order
, Catalog
, Product
, Category
.
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.
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
- InstallSchema.php
- InstallData.php
- UpgradeSchema.php
- UpgradeData.php
Todos esses arquivos estão presentes no Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setup
espaç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 queInstallData.php
possui, 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ósInstallData.php
. Mas o mesmo comoUpgradeSchema.php
ele 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.
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 InstallData
será executado quando o módulo estiver instalado para inicializar os dados da tabela de banco de dados
Hoope isso limpar sua consulta.