Liquibase là gì?
Liquibase là một công cụ để di chuyển cơ sở dữ liệu mã nguồn mở được viết băng Java. Công cụ này hoạt động trên hầy hết các đầu ra cơ sở dữ liệu SQL, cho phép các nhà phát triển xác định và quản lý các thay đổi với cơ sở dữ liệu của mình.
Liquibase cho phép bạn mô tả các thay đổi ở nhiều định dạng như XML, YAML hoặc JSON, giúp quá trình này trở nên dễ đọc và có thể kiểm soát phiên bản hơn. Nó cũng chạy trên bất kỳ kênh CI/CD nào, miễn là java, cài đặt trình kết nối và kết nối với cơ sở dữ liệu.
Tính năng của Liquibase
- Quản lý phiên bản cơ sở dữ liệu: Liquibase lưu lịch sử các thay đổi trong cơ sở dữ liệu, mỗi thay đổi sẽ được gắn một phiên bản để giúp người dùng theo dõi thông thay thay đổi dễ dàng
- Chạy và quản lý ChangeSets: Mỗi thay đổi sẽ được định nghĩa là changelog, bao gồm các ChangeSets – tập hợp các thay đổi riêng lẻ, giúp quản lý thay đổi chi tiết nhất.
- Phát hiện thay đổi tự động: Liquibase hỗ trợ tính năng “diff” giúp khám phá tự động các thay đổi trong cơ sở dữ liệu. Giúp tiết kiệm thời gian, tránh sai sót khi cập nhật các thay đổi.
- Hỗ trợ nhiều định dạng file changelog: Hỗ trợ các định dạng khác nhau như XML, YAML, JSON, và SQL,…
- Tích hợp các công cụ DevOps và CI/CD: Phổ biến như Jenkins, GitLab CI/CD, và Bamboo. Cho phép triển khai tự động các thay đổi cơ sở dữ liệu cùng với mã ứng dụng.
- Khôi phục các thay đổi: Liquibase hỗ trợ khôi phục các thay đổi đã thực hiện trong cơ sở dữ liệu nếu có lỗi xảy ra.
Cách thức hoạt động của Liquibase
Liquibase hoạt động theo quy trình sau:
- Người dùng sẽ tạo tệp changelog (có thể ở các định dạng SML, YAML hoặc JSON), chỉ định lược đồ cơ sở dữ liệu mong muốn.
- Sau đó, sử dụng lệnh Liquibase để áp dụng các thay đổi được xác định trong tệp nhật ký thay đổi vào cơ sở dữ liệu. Công cụ này sẽ theo dõi các thay đổi được áp dụng.
- Liquibase hỗ trợ tích hợp cho nhiều hệ thống quản lý cơ sở dữ liệu. Nó sẽ phiên dịch các thay đổi mà bạn xác định trong changelog thành các câu lệnh SQL dành cho cơ sở dữ liệu.
- Liquibase thực hiện các câu lệnh SQL để cập nhật lược đồ cơ sở dữ liệu. Nếu có lỗi, nó sẽ tự động khôi phục các thay đổi để duy trì tính toàn vẹn cho cơ sở dữ liệu.
- Liquibase theo dõi các thay đổi được áp dụng cho cơ sở dữ liệu, cho phép bạn nâng cấp hoặc hạ cấp lược đồ dễ dàng khi có nhu cầu.
Tại sao nên sử dụng Liquibase?
Liquibase là công cụ hữu ích bởi nó mang lại cho bạn nhiều lợi ích trong việc quản lý các thay đổi trong cơ sở dữ liệu, giúp việc triển khai và duy trì cơ sở dữ liệu trở nên nhất quán, an toàn và linh hoạt. Sau đây là một số lý do chính khiến việc sử dụng Liquibase trở nên cần thiết:
- Giúp kiểm soát phiên bản cơ sở dữ liệu: Liquibase cung cấp cách tiếp cận có hệ thống để kiểm soát phiên bản cho các lược đồ cơ sở dữ liệu. Nó cho phép bạn theo dõi và quản lý các thay đổi lược đồ cơ sở dữ liệu theo thời gian.
- Làm việc nhóm hiệu quả: Liquibase giúp các thành viên trong nhóm có thể làm việc hiệu quả trên cùng một dự án cùng lúc. Nó tạo điều kiện cho việc hợp tác bằng cách đảm bảo các thay đổi đều được lưu lại đầy đủ và có thể áp dụng nhất quán trên các môi trường phát triển, thử nghiệm và sản xuất.
- Tương thích tốt: Liquibase không phụ thuộc vào cơ sở dữ liệu, nó có thể được sử dụng với nhiều hệ thống quản lý cơ sở dữ liệu khác nhau, giúp dễ dàng chuyển đổi giữa các hệ thống cơ sở dữ liệu.
- Khôi phục tự động: Nó cho phép khôi phục tự động các thay đổi trong trường hợp xảy ra lỗi hoặc sự cố trong quá trình di chuyển.
- Theo dõi và kiểm soát dễ dàng: một changelog trong Liquibase đóng vai trò như một lịch sử về các thay đổi được áp dụng trong cơ sở dữ liệu, giúp bạn kiểm soát các thay đổi dễ dàng và xác định các vấn đề kịp thời.
Bằng cách kết hợp lưu trữ các thay đổi cơ sở dữ liệu trong kiểm soát nguồn và triển khai bằng Liquibase, giúp tăng tính minh bạch và nhất quán cho quy trình thủ công, giảm rủi ro do lỗi do con người gây ra. Đây là công cụ mạnh mẽ và linh hoạt, tăng cường kiểm soát và bảo mật, tiết kiệm thời gian và phù hợp với các quy trình phát triển hiện đại như CI/CD và DevOps.
Hướng dẫn cài đặt Liquibase trên Windows, macOS và Linux
Yêu cầu hệ thống
Java: Liquibase yêu cầu Java JDK (phiên bản 8 trở lên) cài sẵn trên máy tính của bạn. Bạn có thể kiểm tra phiên bản của Java bằng lệnh sau:
java -version
Nếu máy tính bạn chưa cài Java, bạn có thể tải và cài đặt từ Oracle hoặc OpenJDK.
Tải Liquibase
Vào trang chủ Liquibase và tải phiên bản mới nhất của Liquibase theo hệ điều hành bạn đang sử dụng (Windows, macOS, Linux). Sau đó, giải nén file đã tải và lưu vào thư mục tùy ý.
Cài đặt Liquibase trên từng hệ điều hành
Với Hệ điều hành Windows:
Mở thư mục bạn đã giải nén file tải về, thêm đường dẫn thư mục liquibase vào biến môi trường PATH bằng các bước sau:
- Vào Control Panel => Chọn System and Security => System => Chọn Advanced system settings và nhấp vào Environment Variables.
Tại đây, bạn tìm và chọn Path và nhấp Edit rồi thêm đường dẫn đến thư mục Liquibase vào danh sách => Nhấn Ok.
Tiếp theo, bạn Mở Command Prompt và gõ lệnh sau:
liquibase --version
Nếu quá trình cài đặt thành công, nó sẽ hiển thị phiên bản của Liquibase.
Với Hệ điều hành MacOS
Nếu bạn đã cài Homebrew, bạn có thể cài đặt Liquibase nhanh chóng bằng lệnh sau:
brew install liquibase
Hoặc bạn có thể giải nén file đã tải và thêm đường dẫn vào PATH bằng cách mở Terminal và thêm dòng sau vào file ~/.zshrc :
export PATH=$PATH:/path/to/liquibase
Bạn thay giá trị /path/to/liquibase bằng đường dẫn đến thư mục chứa Liquibase.
Tải lại file cấu hình ~/.zshrc hoặc ~/.bash_profile và Kiểm tra cài đặt bằng lệnh sau:
liquibase --version
Với Hệ điều hành Linux
Giải nén file đã tải về và chuyển đến thư mục chứa Liquibase. Thêm đường dẫn Liquibase vào biến môi trường PATH bằng cách mở Terminal và chỉnh sửa file ~/.bashrc:
export PATH=$PATH:/path/to/liquibase
Tải lại file cấu hình ~/.bashrc và kiểm tra cài đặt với lệnh sau:
liquibase --version
Lời kết
Trên đây, LANIT đã chia sẻ chi tiết về Liquibase cũng như các thông tin về tính năng, lợi ích mà công cụ quản lý phiên bản cơ sở dữ liệu này mang lại. Hy vọng rằng những thông tin trên hữu ích với bạn, nếu bạn còn thắc mắc nào hoặc cần hỗ trợ khi thuê VPS giá rẻ để phát triển các dự án thử nghiệm, liên hệ ngay LANIT nhé!