Extension Rollback cho Flyway Community Edition
(github.com/coder013)Vì sao được tạo ra
- Trong môi trường ECS/EKS, có thể rollback ứng dụng, nhưng các thay đổi cơ sở dữ liệu không thể tự động rollback.
- Flyway hỗ trợ rollback bằng lệnh
undo, nhưng chỉ từ Enterprise Edition và không thể dùng trong Community Edition. - Extension này được phát triển dành cho dự án cá nhân, đội ngũ nhỏ thấy chi phí giấy phép Enterprise là gánh nặng.
Cách hoạt động
- Viết các tệp
R{version}__*.sqlvàodb/rollback/theo cách tương tự migration - Khi ứng dụng khởi động, chạy các script theo thứ tự ngược lại giữa phiên bản hiện tại → phiên bản mục tiêu
Tính năng chính
- Kiểm tra trước theo kiểu fail-fast — kiểm tra sự tồn tại của script rollback trước khi chạy
- Một transaction duy nhất — đảm bảo all-or-nothing
- Chế độ dry-run — chỉ ghi log kế hoạch thực thi
- Lịch sử rollback — ghi log vào bảng
flyway_rollback_history - Actuator endpoint — tra cứu phiên bản đã áp dụng và các script khả dụng tại
/actuator/flyway-rollback
Yêu cầu
- Java 17+, Spring Boot 3.x
Đây là thư viện mã nguồn mở đầu tiên tôi phát triển nên có thể còn nhiều thiếu sót. Rất mong bạn thoải mái để lại trải nghiệm sử dụng hoặc đề xuất cải tiến. Xin cảm ơn!
Chưa có bình luận nào.