6. Migrar tabelas

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.

<< 5. Atualizar o ficheiro d... Índice 7. Definir rotas >>