Flyway是一款開源的數(shù)據(jù)庫版本管理工具,它更傾向于規(guī)約優(yōu)于配置的方式。
第一步:pom.xml添加maven依賴
1
2
3
4
5
6
|
<!-- 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配置
1
2
3
4
5
6
7
|
# 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目錄下創(chuàng)建db/migration目錄添加sql腳本
驗(yàn)證是否成功:項(xiàng)目啟動(dòng)時(shí),會(huì)運(yùn)行flyway執(zhí)行sql語句.生成schema_version表,用于記錄sql執(zhí)行情況.
當(dāng)sql文件修改后.比如多個(gè)空格,項(xiàng)目啟動(dòng)時(shí),該sql對應(yīng)的checksum字段與表記錄的不一致會(huì)報(bào)錯(cuò).
注意事項(xiàng):
FlywayProperties參數(shù)配置詳解
flyway.baseline-version 執(zhí)行基線時(shí)用來標(biāo)記已有Schema的版本。(默認(rèn)值:1)
flyway.enabled 開啟Flyway。 (默認(rèn)值: true 。 )
flyway.sql-migration-prefix SQL遷移的文件名前綴。 (默認(rèn)值: V 。 )
flyway.sql-migration-suffix SQL遷移的文件名后綴。 (默認(rèn)值: .sql 。 )
flyway.baseline-on-migrate 在沒有元數(shù)據(jù)表的情況下,針對非空Schema執(zhí)行遷移時(shí)是否自動(dòng)調(diào)用基線。
flyway.location 遷移腳本的位置。 (默認(rèn)值: db/migration 。 )
sql文件版本號(hào)命名的規(guī)范
每個(gè)公司的規(guī)范肯定不一樣.開發(fā)時(shí),只需要項(xiàng)目內(nèi)遵循該規(guī)范即可,規(guī)范的確定并沒有對錯(cuò).提供一種sql文件命名規(guī)范僅供大家參考.
到此這篇關(guān)于SpringBoot項(xiàng)目集成Flyway進(jìn)行數(shù)據(jù)庫版本控制的文章就介紹到這了,更多相關(guān)SpringBoot集成Flyway數(shù)據(jù)庫版本控制內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/Cug_wangww/article/details/81150417