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.