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é!
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:
- Custom login page sử dụng Bootstrap và Thymeleaf trong Spring Security
- Sử dụng Spring Security trong Spring Boot
- Internationalization trong Spring Boot
Xem thêm tuyển dụng công nghệ hấp dẫn trên TopDev
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- i iOS 18 có gì mới? Có nên cập nhật iOS 18 cho iPhone của bạn?
- G Gamma AI là gì? Cách tạo slide chuyên nghiệp chỉ trong vài phút
- P Power BI là gì? Vì sao doanh nghiệp nên sử dụng PBI?
- K KICC HCMC x TOPDEV – Bước đệm nâng tầm sự nghiệp cho nhân tài IT Việt Nam
- T Trello là gì? Cách sử dụng Trello để quản lý công việc
- T TOP 10 SỰ KIỆN CÔNG NGHỆ THƯỜNG NIÊN KHÔNG NÊN BỎ LỠ
- T Tìm hiểu Laptop AI – So sánh Laptop AI với Laptop thường
- M MySQL vs MS SQL Server: Phân biệt hai RDBMS phổ biến nhất
- S SearchGPT là gì? Công cụ tìm kiếm mới có thể đánh bại Google?