Flyway是一個數據庫版本化管理工具,經過SQL腳本實現DB Migration自動化升級,支持獨立運行,也能夠和構建工具或者Spring開發環境集成。本文分享Spring集成Flyway的配置方法,以及項目中的使用示例。
mysql
代碼文件git |
功能要點github |
|
SpringBoot集成Flywayspring |
pom.xmlsql |
引入Flyway依賴:flyway-core數據庫 |
application.ymlapp |
配置數據源,也能夠指定獨立的Flyway配置。ide |
|
resources\db\migration\工具 |
SQL腳本,好比V1.0.0__init.sql,名稱規則可配置。url |
|
數據庫版本信息 |
數據表:flyway_schema_history |
Flyway記錄Migration信息和狀態,數據表名稱可配置。 |
l 代碼
Github下載:https://github.com/jextop/StarterApi/
l SpringBoot集成Flyway
1. 新建SpringBoot項目時,選中Flyway,將自動添加Flyway依賴。
2. 已有SpringBoot項目,能夠在pom.xml中直接引用Flyway:
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
</dependency>
3. 在application.yml中配置數據源以及Flyway:
spring:
flyway:
locations: ["classpath:db/migration"]
table: flyway_schema_history
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/starter?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=UTC
username: root
password: root
l 在resources\db\migration\目錄下,添加SQL腳本
腳本文件路徑和命名規則均可以配置,注意版本號遞增,默認爲:V+版本號+雙下劃線+描述
l 啓動程序時,Flyway自動檢查並運行SQL腳本
l 數據庫版本信息
Flyway將版本信息和狀態保存到數據表flyway_schema_history