Ekstensi Rollback untuk Flyway Community Edition
(github.com/coder013)Mengapa dibuat
- Di lingkungan ECS/EKS, rollback aplikasi dimungkinkan, tetapi perubahan database tidak dapat di-rollback secara otomatis.
- Di Flyway, rollback didukung lewat perintah
undo, tetapi fitur ini hanya tersedia mulai Enterprise Edition dan tidak dapat digunakan di Community Edition. - Ekstensi ini dikembangkan untuk proyek pribadi dan tim kecil yang merasa lisensi Enterprise terlalu membebani.
Cara kerja
- Menulis file
R{version}__*.sqldidb/rollback/dengan cara yang sama seperti migration - Saat aplikasi dijalankan, skrip di antara versi saat ini → versi target dieksekusi dalam urutan terbalik
Fitur utama
- Validasi awal fail-fast — memeriksa keberadaan skrip rollback sebelum eksekusi
- Transaksi tunggal — menjamin all-or-nothing
- Mode dry-run — hanya mencatat rencana eksekusi ke log
- Riwayat rollback — mencatat log ke tabel
flyway_rollback_history - Endpoint Actuator — melihat versi yang diterapkan dan skrip yang tersedia di
/actuator/flyway-rollback
Persyaratan
- Java 17+, Spring Boot 3.x
Karena ini adalah library open source pertama yang saya kembangkan, mungkin masih ada banyak kekurangan. Silakan tinggalkan pengalaman penggunaan atau saran perbaikan dengan santai. Terima kasih!
Belum ada komentar.