激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java開發flyway的方法

java開發flyway的方法

2020-07-25 12:30幕友皎敖奔乾 Java教程

這篇文章主要介紹了java開發flyway的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

FlyWay官網:https://flywaydb.org/getstarted/firststeps/maven

Flyway做為database migration開源工具,功能上像是Git、svn這種代碼版本控制。google搜索database migration,或者針對性更強些搜索database migration Java,會有其它的framework、tool、甚至aws的service。因為項目使用到了flyway,而且確實google中排第一位的搜索結果就是flyway,那就之后有機會再與其它方案做比較,先對flyway做下學習筆記。

數據庫版本管理工具

什么是數據庫版本管理?

做過開發的小伙伴們都知道,實現一個需求時,一般情況下都需要設計到數據庫表結構的修改。那么我們怎么能保證項目多人開發時,多個數據庫環境(測試,生產環境)能夠保持一致呢?在沒有數據庫版本管理工具之前,需要將數據庫修改腳本拷貝到每個數據庫環境進行執行。而有了數據庫版本管理工具之后,程序在啟動的時候就會根據實現定義好的規則來進行數據庫腳本的執行。

使用flyway

使用環境

#用的是springboot項目,mysql數據庫

導入flayway和mysql依賴

java" id="highlighter_879866">
?
1
2
3
4
5
6
7
8
9
10
11
12
<dependency>
 <groupId>org.flywaydb</groupId>
 <artifactId>flyway-core</artifactId>
</dependency>
<dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

創建數據庫腳本目錄

在resources資源目錄下創建db/migration目錄。

添加數據庫腳本

?
1
2
3
4
5
6
7
8
9
10
11
12
13
#腳本命名規則 V<VERSION>__<NAME>.sql,P<VERSION>__<NAME>.sql。V代表只執行一次,P代表可以執行多次
#VERSION代表數據庫腳本版本,NAME代表數據名稱。
 
#這里使用V1_test.sql,腳本內容如下所示。
 
DROP TABLE IF EXISTS `role`;
CREATE TABLE `role` (
 `id` int(11) NOT NULL,
 `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
 PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
 
INSERT INTO `role` VALUES (1, '1');

properties文件配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#指定數據庫腳本為UTF-8, flyway的配置有很多,有興趣的小伙伴可以去看下
spring.flyway.encoding=utf-8
 
#如果原來的數據庫不為空,則需要設置
spring.flyway.baseline-on-migrate=true
 
#設置數據庫起始版本為0,默認為1。如果你寫的sql腳本version小于等于起始版本則不會執行。
spring.flyway.baseline-version=0
 
#數據源配置
spring.datasource.url=jdbc:mysql://127.0.0.1/test?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=123456

啟動應用程序,查看控制臺輸出

java開發flyway的方法

數據庫查看

java開發flyway的方法

此時flyway會默認添加一張記錄數據庫版本信息的表,每次啟動時會根據version值判斷是否需要執行sql。

flyway是怎么執行的?

?
1
2
#spring-boot-dependencies 導入了flyway,mysql依賴。
#spring-boot-autoconfigure 中導入了FlywayAutoConfiguration自動配置類

到此這篇關于java開發flyway的方法的文章就介紹到這了,更多相關java開發flyway內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.cnblogs.com/chenhaoblog/archive/2020/07/25/13375351.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产男女 爽爽爽爽视频 | 91快色视频 | 国产a级久久 | 欧美老外a级毛片 | 国产91av视频 | 成年毛片| 国产高潮好爽受不了了夜色 | 一级性生活视频 | 伊人午夜视频 | 中国av一级片 | 久操福利视频 | 在线a毛片免费视频观看 | 精品一区二区中文字幕 | 国产88久久久国产精品免费二区 | 久久777国产线看观看精品 | 91在线观看 | 久久生活片 | 成人精品免费在线观看 | 欧美一级黄色录像片 | 欧美日韩国产综合网 | 欧美伦交 | 3级毛片 | 国产免费视频在线 | 久久亚洲精品久久国产一区二区 | 午夜热门福利 | avlululu| 国产免费高清在线 | 欧美三日本三级少妇三级99观看视频 | av在线直播观看 | chinese18 xxxx videos| 日本a v免费观看 | 黄视频网站免费在线观看 | 天天色宗合 | 日本不卡一区二区三区在线 | 国产日韩免费观看 | 亚洲成人欧美在线 | 伊人在线视频 | 91青青| 密室逃脱第一季免费观看完整在线 | 一级片久久免费 | 精品久久久久久久久久 |