Eu instalo o magento 2.3 e estou criando um módulo personalizado.
Mas não sei como criar uma tabela de banco de dados personalizada na versão magento 2.3.
magento2.3
database-schema
Khandhar duro
fonte
fonte
Respostas:
Primeiro, crie o
db_schema.xml
arquivo dentro/RH/Helloworld/etc
e escreva o seguinte código:<table> .. </table>
= "Use para criar e definir o nome da tabela"<column> .. </column>
= "Use para criar e definir coluna da tabela"<constraint> .. </constraint>
= "Use para definir a restrição como chave primária, chave estrangeira, chave exclusiva etc."Antes de executar o comando upgrade, você precisa adicionar seu esquema ao
db_whitelist_schema.json
arquivo executando o seguinte comando:Agora, existem
db_whitelist_schema.json
arquivos serão criados na/RH/Helloworld/etc
pasta.Agora corra
php bin/magento s:up
A tabela será criada dentro do banco de dados.
=> Se você deseja renomear uma coluna, defina a linha abaixo na
db_schema.xml
coluna apropriada:aqui, nome = "novo nome da coluna" e onCreate = "migrateDataFrom ()" = "nome antigo da coluna"
=> Se você desejar descartar a tabela, poderá remover todo o nó da tabela do arquivo xml ou definir o atributo desativado como true, como abaixo da linha do seu
db_schema.xml
:Para mais detalhes, você pode conferir aqui .
Espero que seja útil para você.
fonte
Crie um arquivo nomeado como db_schema.xml na pasta etc em qualquer módulo customizado.
Agora crie db_whitelist_schema.json no mesmo caminho
Depois disso, execute o php bin / magento setup: upgrade . Para mais informações, você pode conferir aqui . Entre em contato caso precise de mais explicações sobre isso.
fonte
Os módulos principais do Magento 2.3 usavam uma abordagem de esquema declarativa em vez do script de atualização da instalação. Esta é uma nova abordagem recomendada no Magento 2.3 e superior. O Magento 2.3.x ainda está trabalhando com InstallSchema, InstallData, etc. etc.
fonte