(16) 981791110 contato@policast.studio

1. O que são migrações no Symfony?

As migrações no Symfony são uma forma de gerenciar a evolução do esquema do banco de dados de uma aplicação com PHP. Com as migrações, é possível criar ou modificar tabelas, colunas e chaves estrangeiras, tudo de forma organizada e com uma trilha de alterações registrada. Dessa forma, fica mais fácil aplicar alterações em diferentes ambientes (desenvolvimento, produção, homologação, etc) e manter todos sincronizados.

2. Como criar uma migração no Symfony?

Para criar uma nova migração no Symfony, basta rodar o comando “bin/console make:migration” no terminal. Esse comando irá criar um novo arquivo na pasta “src/Migrations” com um timestamp no nome e uma classe vazia que deverá ser preenchida com as instruções SQL necessárias. É importante que essa classe tenha o método “up” com as alterações que serão aplicadas, bem como um método “down” com as instruções para reverter essas alterações.

3. Como executar a migração no banco de dados?

Depois de criar a migração, é preciso executá-la para que as alterações sejam aplicadas no banco de dados. Para isso, basta rodar o comando “bin/console doctrine:migrations:migrate” no terminal. Esse comando irá executar todas as migrações que ainda não foram aplicadas no banco de dados. É possível também especificar uma migração específica para ser executada com o comando “bin/console doctrine:migrations:execute”.

4. Como desfazer uma migração no Symfony?

Caso seja necessário desfazer uma migração no Symfony, basta rodar o comando “bin/console doctrine:migrations:execute –down [versão]” no terminal. Esse comando irá executar o método “down” da migração especificada, revertendo as alterações que foram aplicadas anteriormente. É importante lembrar que as migrações são executadas em ordem cronológica, então é preciso ter cuidado ao desfazer alterações que podem afetar outras migrações.

5. Como listar as migrações disponíveis?

Para listar as migrações disponíveis para serem executadas, basta rodar o comando “bin/console doctrine:migrations:list” no terminal. Esse comando irá exibir uma tabela com todas as migrações, indicando se elas foram executadas ou não, qual a versão e a data da criação.

6. Como atualizar o banco de dados com as últimas migrações?

Caso haja várias migrações criadas e ainda não executadas, é possível atualizar o banco de dados com todas elas de uma só vez, rodando o comando “bin/console doctrine:migrations:migrate”. Esse comando irá aplicar todas as migrações pendentes em ordem cronológica. Caso haja algum problema durante a execução de alguma migração, as alterações serão revertidas de forma automática.

7. Como aplicar as migrações apenas em um ambiente específico?

Por padrão, as migrações serão aplicadas em todos os ambientes da aplicação (dev, prod, test, etc). Caso seja necessário aplicar as migrações apenas em um ambiente específico, basta adicionar o parâmetro “–env=nome_do_ambiente” no comando de execução da migração. Por exemplo, “bin/console doctrine:migrations:migrate –env=prod” aplicará as migrações apenas no ambiente de produção.

8. Como criar uma migração com um nome específico?

Ao criar uma nova migração no Symfony, o nome do arquivo será automaticamente gerado com um timestamp. Caso seja necessário criar uma migração com um nome específico, basta adicionar o parâmetro “–name=nome_da_migracao” no comando “bin/console make:migration”. Esse parâmetro irá gerar um arquivo com o nome especificado, seguindo o padrão de nomenclatura das migrações.

9. Como verificar o status das migrações?

Para verificar o status das migrações (quais já foram aplicadas e quais ainda estão pendentes), basta rodar o comando “bin/console doctrine:migrations:status” no terminal. Esse comando exibirá uma tabela com todas as migrações, indicando se elas foram executadas ou não, qual a versão e a data da criação. É possível também passar o parâmetro “–show-versions” para exibir apenas as versões das migrações.

10. Como customizar o diretório de migrações?

Por padrão, as migrações do Symfony são armazenadas na pasta “src/Migrations”. Caso seja necessário customizar o diretório das migrações, basta adicionar o parâmetro “–dir=caminho_do_diretorio” no comando “bin/console make:migration”. Esse parâmetro irá gerar o arquivo de migração na pasta especificada em vez de “src/Migrations”.