1. 程式人生 > 程式設計 >SpringBoot專案整合Flyway進行資料庫版本控制的詳細教程

SpringBoot專案整合Flyway進行資料庫版本控制的詳細教程

Flyway是一款開源的資料庫版本管理工具,它更傾向於規約優於配置的方式。

第一步:pom.xml新增maven依賴

<!-- https://mvnrepository.com/artifact/org.flywaydb/flyway-core -->
<dependency>
	<groupId>org.flywaydb</groupId>
	<artifactId>flyway-core</artifactId>
	<version>5.0.7</version>
</dependency>

第二步:開啟Flyway支援,在application.properties檔案新增Flyway配置

# FLYWAY (FlywayProperties)
flyway.baseline-version=1.0.0
flyway.enabled=true
flyway.sql-migration-prefix=V
flyway.sql-migration-suffix=.sql
flyway.baseline-on-migrate=true
flyway.location=db/migration

第三步:在resource目錄下建立db/migration目錄新增sql指令碼

SpringBoot專案整合Flyway進行資料庫版本控制的詳細教程

驗證是否成功:專案啟動時,會執行flyway執行sql語句.生成schema_version表,用於記錄sql執行情況.

SpringBoot專案整合Flyway進行資料庫版本控制的詳細教程

當sql檔案修改後.比如多個空格,專案啟動時,該sql對應的checksum欄位與表記錄的不一致會報錯.

注意事項:

FlywayProperties引數配置詳解

flyway.baseline-version 執行基線時用來標記已有Schema的版本。(預設值:1)
flyway.enabled 開啟Flyway。 (預設值: true 。 )
flyway.sql-migration-prefix SQL遷移的檔名字首。 (預設值: V 。 )
flyway.sql-migration-suffix SQL遷移的檔名字尾。 (預設值: .sql 。 )
flyway.baseline-on-migrate 在沒有元資料表的情況下,針對非空Schema執行遷移時是否自動呼叫基線。

flyway.location 遷移指令碼的位置。 (預設值: db/migration 。 )

sql檔案版本號命名的規範

每個公司的規範肯定不一樣.開發時,只需要專案內遵循該規範即可,規範的確定並沒有對錯.提供一種sql檔案命名規範僅供大家參考.

SpringBoot專案整合Flyway進行資料庫版本控制的詳細教程

到此這篇關於SpringBoot專案整合Flyway進行資料庫版本控制的文章就介紹到這了,更多相關SpringBoot整合Flyway資料庫版本控制內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!