Flyway Community Edition için Rollback Extension
(github.com/coder013)Neden yapıldı?
- ECS/EKS ortamlarında uygulama rollback'i yapılabilir, ancak veritabanı değişiklikleri otomatik olarak geri alınamaz.
- Flyway,
undokomutuyla rollback desteği sunar; ancak bu özellik Enterprise Edition'dan itibaren desteklenir ve Community Edition'da kullanılamaz. - Enterprise lisansının maliyetli olduğu kişisel projeler ve küçük ekipler için bu Extension geliştirildi.
Çalışma şekli
- Migration ile aynı şekilde
R{version}__*.sqldosyalarınıdb/rollback/altında yazın - Uygulama başlatılırken mevcut sürüm ile hedef sürüm arasındaki script'leri ters sırayla çalıştırın
Başlıca özellikler
- Fail-fast ön doğrulama — çalıştırmadan önce rollback script'lerinin varlığı kontrol edilir
- Tek transaction — all-or-nothing garantisi
- Dry-run modu — yalnızca çalıştırma planını log'lama
- Rollback geçmişi — loglar
flyway_rollback_historytablosuna kaydedilir - Actuator endpoint'i —
/actuator/flyway-rollbacküzerinden uygulanmış sürümler ve kullanılabilir script'ler görüntülenebilir
Gereksinimler
- Java 17+, Spring Boot 3.x
İlk kez geliştirdiğim bir açık kaynak kütüphane olduğu için eksikleri olabilir. Kullanım deneyimlerinizi veya iyileştirme önerilerinizi rahatça paylaşabilirsiniz. Teşekkürler!
Henüz yorum yok.