Sử dụng Flyway trong Spring Boot

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh

Mình đã giới thiệu với các bạn về Flyway để hiện thực database migration. Đối với các ứng dụng Spring Boot muốn sử dụng Flyway thì việc integrate này rất dễ dàng vì Spring Boot đã hỗ trợ. Cụ thể như thế nào? Chúng ta hãy cùng nhau tìm hiểu trong bài viết này các bạn nhé!

  Cách làm một ứng dụng Chat cho Android & iOS bằng Contus Fly như thế nào?

Xem thêm việc làm Spring Boot lương cao trên TopDev

Đầu tiên, mình sẽ tạo mới một Spring Boot project với Flyway, Spring Data JDBC và PostgreSQL dependencies như sau:

Kết quả:

Nếu kiểm tra thư mục src/main/resources trong project vừa tạo, các bạn sẽ thấy có một thư mục là db/migration. Đây chính là thư mục mặc định mà chúng ta sẽ chứa các tập tin SQL để Spring Boot với Flyway làm database migration đó các bạn!

Bây giờ, để làm ví dụ, mình sẽ tạo mới một tập tin SQL V2021.10.20.00000__Init.sql nằm trong thư mục src/main/resources/db/migration:

để tạo mới table student như sau:

CREATE TABLE student (
ID INT PRIMARY KEY,
name VARCHAR(250) NOT NULL
);

Việc tiếp theo chúng ta cần làm là cấu hình Datasource trong tập tin application.properties, ví dụ của mình như sau:

spring.datasource.url=jdbc:postgresql://localhost:5432/flyway_example
spring.datasource.username=khanh
spring.datasource.password=1

với flyway_example là tên database ví dụ của mình.

Bây giờ, nếu các bạn chạy ứng dụng và truy cập đến database trên, các bạn sẽ thấy kết quả như sau:

Table flyway_schema_history và cả table student mà chúng ta định nghĩa trong tập tin SQL đã được tạo.

Các bạn có thể thấy, việc sử dụng Flyway trong ứng dụng Spring Boot rất đơn giản, không tốn nhiều effort phải không các bạn?

Bài viết gốc được đăng tải tại huongdanjava.com

Có thể bạn quan tâm:

Xem thêm tuyển dụng công nghệ hấp dẫn trên TopDev