Definição
Migration é a mudança de estrutura do banco registrada como arquivo executável e versionável. Cada arquivo descreve uma alteração concreta, como criar uma tabela ou acrescentar um campo, e a sequência deles evolui o esquema de forma controlada.
Evoluir ambientes na mesma ordem
Um ambiente começa vazio e aplica as migrations na ordem definida. Desenvolvimento, teste e produção percorrem a mesma sequência, de modo que a estrutura resultante coincide entre eles. Você revisa cada arquivo como revisa código comum, porque é a revisão que impede que uma mudança quebrada chegue aos demais ambientes.
ALTER TABLE clientes
ADD COLUMN data_nascimento DATE;Migration não é backup
Migration altera a estrutura, mas não protege o conteúdo. Reverter uma mudança pode ter limites e consequências para os registros já gravados, como campos que deixam de existir. Por isso, um plano de evolução combina migrations para estrutura e backups para recuperação.
Falha comum e como verificar
A falha mais comum é aplicar a migration fora de ordem ou rodar apenas em alguns ambientes, e o resultado é uma estrutura que diverge entre eles. Outro erro frequente é reverter uma mudança que removeu uma coluna usada pela aplicação, deixando o código sem o campo que espera. Para verificar, aplique a sequência completa em um ambiente limpo e compare a estrutura com a de produção: as colunas e as restrições devem coincidir. Depois, reverta a última migration e confira se a aplicação continua funcionando. Quando o código quebra após a reversão, a migration precisa de tratamento antes de ser revertida.
Veja como popular um ambiente depois da estruturaDúvidas frequentes
Perguntas frequentes sobre Migration
- Migration é um backup?
- Não. Migration altera a estrutura. Backup preserva uma cópia recuperável do estado anterior.
- Reverter uma migration é sempre seguro?
- Nem sempre. Reverter pode ter limites e consequências para os registros já gravados.
- Quantas migrations um banco pode ter?
- Não há limite fixo. A sequência deve permanecer ordenada e reproduzível em cada ambiente.
Para continuar
Recursos relacionados
Documentação
Laravel: migrations
Mostra como estruturar e aplicar migrações no Laravel.
Abrir recursoDocumentação
Prisma: migrate
Explica o fluxo de migração gerenciada pelo Prisma.
Abrir recursoAplicação na formação
Formação DevOps
Na Formação DevOps, migrations permitem evoluir a estrutura do banco de forma versionada em cada ambiente do pipeline.
Conhecer a formaçãoFontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.