Những gì chúng tôi làm không được liên kết với Git hoặc GitFlow, mà với chính cơ sở dữ liệu:
Mỗi khi một tập lệnh db được thực thi, nó được thực hiện thông qua một trình bao bọc cũng sẽ ghi lại quá trình thực thi tập lệnh đó trong một bảng dành riêng của cơ sở dữ liệu.
Bằng cách đó, lần sau khi áp dụng cùng một tập lệnh đó, trình bao bọc sẽ phát hiện ra nó. đã được thực thi và sẽ không áp dụng lại.
Đây là cách triển khai sản phẩm giống Flyway
đã làm (như được hiển thị trong câu trả lời này, bạn có thể sử dụng cả hai:Liquidbase và Flyway
, chúng dường như khác nhau
).
Vấn đề là:điều này không thể quản lý chỉ với Hệ thống kiểm soát phiên bản:bạn cần một công cụ bổ sung để thực thi / kiểm soát quá trình nâng cấp cơ sở dữ liệu.