No desenvolvimento de aplicações web com Laravel, as migrações desempenham um papel crucial na gestão da base de dados. As migrações permitem modificar a estrutura da base de dados de forma controlada e versionada. Neste capítulo, iremos explorar o processo de migração das tabelas, utilizando exemplos práticos.
Objectivo das Migrações
As migrações são uma forma conveniente de manter a estrutura da base de dados sincronizada com o código da aplicação. Com as migrações, é possível:
- Criar novas tabelas
- Alterar tabelas existentes
- Adicionar ou remover colunas
- Atualizar índices
Executar a Migração
Para executar a migração, utilizamos o comando migrate
do Artisan. Certifique-se de que a sua ligação à base de dados está corretamente configurada no ficheiro .env
.
php artisan migrate
Este comando aplica todas as migrações pendentes, criando ou alterando as tabelas conforme definido nas migrações.
Reverter uma Migração
Caso necessite reverter uma migração, pode utilizar o comando migrate:rollback
. Este comando reverte a última "lote" de migrações que foram aplicadas:
php artisan migrate:rollback
Para reverter todas as migrações, pode utilizar:
php artisan migrate:reset
Ou para refazer todas as migrações do zero:
php artisan migrate:refresh
Migrar Tabelas em Ambiente de Produção
Ao realizar migrações em ambiente de produção, é importante garantir a segurança e a integridade dos dados. Recomenda-se efetuar backup da base de dados antes de aplicar qualquer migração.
Por exemplo, o comando migrate
aceito em ambiente de produção inclui uma confirmação interativa para evitar erros não intencionais.
php artisan migrate --force
Utilizar a flag --force
força a execução das migrações, mesmo em ambiente de produção.
Resumo
Neste capítulo, aprendemos como criar e executar migrações em Laravel, bem como reverter e refazer migrações. As migrações permitem-nos manter a estrutura da nossa base de dados em constante evolução de maneira controlada e segura.