Migrations versionam schema de database. Track mudanças, rollback, sync entre ambientes. Essencial para CI/CD de databases.
Conceitos Principais
Version Control
Cada migration é arquivo. Timestamp ou sequence number. Git tracked. Ordem garantida.
Up/Down
Up: aplica mudança. Down: reverte. Rollback possível. Nem todas changes são reversíveis.
Migration State
Tabela de metadados. Rastreia applied migrations. Evita re-run. Detecta drift.
Zero-Downtime
Migrations não podem quebrar app rodando. Additive changes first. Remove em migration futura.
Passo a Passo
Boas Praticas
Recomendacoes
• Migrations pequenas e focadas
• Teste em staging primeiro
• Rollback sempre testado
• Nunca edite migrations aplicadas
• Zero-downtime: additive first
• Backup antes de migration
• Migrations em CI/CD
Erros Comuns
Evite estes erros
• Editar migration aplicada
• Migration sem down
• Não testar rollback
• Breaking change sem estratégia
• Migrations manuais em produção
• Sem backup