這篇文章將為大家詳細(xì)講解有關(guān)Flyway實(shí)現(xiàn)簡化Spring Boot項(xiàng)目部署的方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、綏德網(wǎng)絡(luò)推廣、重慶小程序開發(fā)公司、綏德網(wǎng)絡(luò)營銷、綏德企業(yè)策劃、綏德品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供綏德建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.chinadenli.net
1.什么是 Flyway
我們?cè)诠咀鲩_發(fā)時(shí),由于項(xiàng)目需求的變化,或者前期設(shè)計(jì)缺陷,導(dǎo)致在后期需要修改數(shù)據(jù)庫,這應(yīng)該是一個(gè)比較常見的事情,如果項(xiàng)目還沒上線,你可能把表刪除了重新創(chuàng)建,但是如果項(xiàng)目已經(jīng)上線了,就不能這樣簡單粗暴了,我們需要通過 SQL 腳本在已有數(shù)據(jù)表的基礎(chǔ)上進(jìn)行升級(jí)。
目前 Java 這塊,想要對(duì)數(shù)據(jù)庫的版本進(jìn)行管理主要有兩個(gè)工具:
Flyway
Liquibase
兩個(gè)工具各有千秋,但是核心功能都是數(shù)據(jù)庫的版本管理,這里主要來看 Flyway。就像我們使用 Git 來管理代碼版本一樣,F(xiàn)lyway 可以用來管理數(shù)據(jù)庫版本。
好了,接下來我們就來看看用 Flyway 如何簡化微人事部署,然后再來說說 Flyway 的一個(gè)大致原理。
2.嵌入到微人事
如果是在一個(gè)全新的項(xiàng)目中使用 Flyway,那么在新建一個(gè) Spring Boot 項(xiàng)目時(shí),就有 Flyway 的選項(xiàng),如下圖:

項(xiàng)目創(chuàng)建成功后,resources 目錄下也會(huì)多出來一個(gè) db/migration 目錄,這個(gè)目錄用來存放數(shù)據(jù)庫腳本,如下:

注意
這個(gè)如果創(chuàng)建項(xiàng)目時(shí)就選擇了 Flyway 依賴,就會(huì)有這個(gè)目錄。現(xiàn)在我要在已經(jīng)做好的微人事中加入 Flyway,這個(gè)目錄就需要我手動(dòng)創(chuàng)建了。
首先在微人事中添加 flyway 依賴:
<dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId> </dependency>
然后在 vhr-web 模塊下的 resources 目錄下,手動(dòng)創(chuàng)建 db/migration 目錄,然后在該目錄下創(chuàng)建數(shù)據(jù)庫腳本,數(shù)據(jù)庫腳本的命名方式如下:
V<VERSION>__<NAME>.sql
首先是大寫字母 V,然后是版本號(hào),要是有小版本可以用下劃線隔開,例如 2_1,版本號(hào)后面是兩個(gè)下劃線,然后是腳本名稱,文件后綴是 .sql。
例如我這里創(chuàng)建我的第一個(gè)數(shù)據(jù)庫腳本,取名為 V1__vhr.sql,腳本內(nèi)容就是微人事的數(shù)據(jù)庫腳本,大家可以在 https://github.com/lenve/vhr 這里獲取到。
完了之后,可以不用添加額外配置,大家只需要在本地 MySQL 中創(chuàng)建一個(gè)空的 vhr 數(shù)據(jù)庫即可,然后直接啟動(dòng)微人事項(xiàng)目,項(xiàng)目啟動(dòng)成功后,我們查看啟動(dòng)日志:

從這段啟動(dòng)日志中,我們可以看到 Flyway 的執(zhí)行信息,數(shù)據(jù)庫腳本的執(zhí)行執(zhí)行,同時(shí)這里還說了,F(xiàn)lyway 還給創(chuàng)建了一個(gè) flyway_schema_history 表,這個(gè)表用來記錄數(shù)據(jù)庫的更新歷史。
這個(gè)時(shí)候,打開本地?cái)?shù)據(jù)庫,我們發(fā)現(xiàn) vhr 庫中該有的表都有了。同時(shí)還發(fā)現(xiàn)了 flyway_schema_history 表,如下:

有了這條記錄,下次再啟動(dòng) vhr 項(xiàng)目,V1__vhr.sql 這個(gè)腳本文件就不會(huì)執(zhí)行了,因?yàn)橄到y(tǒng)知道這個(gè)腳本已經(jīng)執(zhí)行過了,如果你還想讓 V1__vhr.sql 腳本再執(zhí)行一遍,需要手動(dòng)刪除 flyway_schema_history 表中的對(duì)應(yīng)記錄,那么項(xiàng)目啟動(dòng)時(shí),這個(gè)腳本就會(huì)被執(zhí)行了。
3.執(zhí)行細(xì)節(jié)
4.其他配置
在 Spring Boot 中,關(guān)于 Flyway 也有不少配置,這些配置都在 application.properties 中進(jìn)行配置,常用的幾個(gè)來和大家說下:
關(guān)于Flyway實(shí)現(xiàn)簡化Spring Boot項(xiàng)目部署的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
網(wǎng)頁題目:Flyway實(shí)現(xiàn)簡化SpringBoot項(xiàng)目部署的方法
文章網(wǎng)址:http://www.chinadenli.net/article16/pgdhdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、營銷型網(wǎng)站建設(shè)、App設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、云服務(wù)器、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)