Extensão de Rollback para o Flyway Community Edition
(github.com/coder013)Por que foi criada
- Em ambientes ECS/EKS, é possível fazer rollback da aplicação, mas alterações no banco de dados não podem ser revertidas automaticamente.
- No Flyway, o rollback é suportado pelo comando
undo, mas isso só está disponível a partir da Enterprise Edition, e não pode ser usado na Community Edition. - Esta extensão foi desenvolvida para projetos pessoais e equipes pequenas para os quais a licença Enterprise é um peso.
Como funciona
- Escrever arquivos
R{version}__*.sqlemdb/rollback/, da mesma forma que nas migrações - Ao iniciar a aplicação, executar em ordem reversa os scripts entre a versão atual e a versão de destino
Principais recursos
- Validação prévia fail-fast — verifica antes da execução se os scripts de rollback existem
- Transação única — garante all-or-nothing
- Modo dry-run — permite registrar em log apenas o plano de execução
- Histórico de rollback — registra logs na tabela
flyway_rollback_history - Endpoint do Actuator — consulta versões aplicadas e scripts disponíveis em
/actuator/flyway-rollback
Requisitos
- Java 17+, Spring Boot 3.x
Como esta é a primeira biblioteca open source que desenvolvi, pode haver muitos pontos a melhorar. Fiquem à vontade para deixar relatos de uso ou sugestões de melhoria. Obrigado!
Ainda não há comentários.