日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

基于Flyway實現簡化Spring Boot項目部署

瀏覽:28日期:2023-09-02 17:53:15

1.什么是 Flyway

我們在公司做開發時,由于項目需求的變化,或者前期設計缺陷,導致在后期需要修改數據庫,這應該是一個比較常見的事情,如果項目還沒上線,你可能把表刪除了重新創建,但是如果項目已經上線了,就不能這樣簡單粗暴了,我們需要通過 SQL 腳本在已有數據表的基礎上進行升級。

目前 Java 這塊,想要對數據庫的版本進行管理主要有兩個工具:

Flyway

Liquibase

兩個工具各有千秋,但是核心功能都是數據庫的版本管理,這里主要來看 Flyway。就像我們使用 Git 來管理代碼版本一樣,Flyway 可以用來管理數據庫版本。

好了,接下來我們就來看看用 Flyway 如何簡化微人事部署,然后再來說說 Flyway 的一個大致原理。

2.嵌入到微人事

如果是在一個全新的項目中使用 Flyway,那么在新建一個 Spring Boot 項目時,就有 Flyway 的選項,如下圖:

基于Flyway實現簡化Spring Boot項目部署

項目創建成功后,resources 目錄下也會多出來一個 db/migration 目錄,這個目錄用來存放數據庫腳本,如下:

基于Flyway實現簡化Spring Boot項目部署

注意

這個如果創建項目時就選擇了 Flyway 依賴,就會有這個目錄。現在我要在已經做好的微人事中加入 Flyway,這個目錄就需要我手動創建了。

首先在微人事中添加 flyway 依賴:

<dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId></dependency>

然后在 vhr-web 模塊下的 resources 目錄下,手動創建 db/migration 目錄,然后在該目錄下創建數據庫腳本,數據庫腳本的命名方式如下:

V<VERSION>__<NAME>.sql

首先是大寫字母 V,然后是版本號,要是有小版本可以用下劃線隔開,例如 2_1,版本號后面是兩個下劃線,然后是腳本名稱,文件后綴是 .sql。

例如我這里創建我的第一個數據庫腳本,取名為 V1__vhr.sql,腳本內容就是微人事的數據庫腳本,大家可以在 https://github.com/lenve/vhr 這里獲取到。

完了之后,可以不用添加額外配置,大家只需要在本地 MySQL 中創建一個空的 vhr 數據庫即可,然后直接啟動微人事項目,項目啟動成功后,我們查看啟動日志:

基于Flyway實現簡化Spring Boot項目部署

從這段啟動日志中,我們可以看到 Flyway 的執行信息,數據庫腳本的執行執行,同時這里還說了,Flyway 還給創建了一個 flyway_schema_history 表,這個表用來記錄數據庫的更新歷史。

這個時候,打開本地數據庫,我們發現 vhr 庫中該有的表都有了。同時還發現了 flyway_schema_history 表,如下:

基于Flyway實現簡化Spring Boot項目部署

有了這條記錄,下次再啟動 vhr 項目,V1__vhr.sql 這個腳本文件就不會執行了,因為系統知道這個腳本已經執行過了,如果你還想讓 V1__vhr.sql 腳本再執行一遍,需要手動刪除 flyway_schema_history 表中的對應記錄,那么項目啟動時,這個腳本就會被執行了。

3.執行細節

我們在定義腳本的時候,除了 V 字開頭的腳本之外,還有一種 R 字開頭的腳本,V 字開頭的腳本只會執行一次,而 R 字開頭的腳本,只要腳本內容發生了變化,啟動時候就會執行。 使用了 Flyway 之后,如果再想進行數據庫版本升級,就不用該以前的數據庫腳本了,直接創建新的數據庫腳本,項目在啟動時檢測了有新的更高版本的腳本,就會自動執行,這樣,在和其他同事配合工作時,也會方便很多。因為正常我們都是從 Git 上拉代碼下來,不拉數據庫腳本,這樣要是有人更新了數據庫,其他同事不一定能夠收到最新的通知,使用了 Flyway 就可以有效避免這個問題了。 所有的腳本,一旦執行了,就會在 flyway_schema_history 表中有記錄,如果你不小心搞錯了,可以手動從 flyway_schema_history 表中刪除記錄,然后修改 SQL 腳本后再重新啟動(生產環境不建議)。

4.其他配置

在 Spring Boot 中,關于 Flyway 也有不少配置,這些配置都在 application.properties 中進行配置,常用的幾個來和大家說下:

spring.flyway.enabled:是否開啟 flyway,默認就是開啟的 spring.flyway.encoding:flyway 字符編碼 spring.flyway.locations:sql 腳本的目錄,默認是 classpath:db/migration,如果有多個,用 , 隔開 spring.flyway.clean-disabled:這個屬性非常關鍵,它表示是否要清除已有庫下的表,如果執行的腳本是 V1__xxx.sql,那么會先清除已有庫下的表,然后再執行腳本,這在開發環境下還挺方便,但是在生產環境下就要命了,而且它默認就是要清除,生產環境一定要自己配置設置為 true。 spring.flyway.table:配置數據庫信息表的名稱,默認是 flyway_schema_history。

好了,關于 Flyway 我就先說這么多,代碼也已經更新到 vhr (https://github.com/lenve/vhr)上了,感興趣的小伙伴不妨下載試一下。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲性视频在线| 美日韩一区二区三区| 欧美gv在线| 国产精品一页| 欧美成人精品三级网站| 日韩av首页| 久久精品亚洲人成影院 | 日韩av在线播放网址| 国产精品成人a在线观看| 黄色av一区| 蜜桃视频在线观看一区| 伊人精品在线| 黑森林国产精品av| 久久久久中文| 亚洲免费婷婷| 国产精品嫩草影院在线看| 精品伊人久久| 香蕉国产精品| 久久国产麻豆精品| 乱一区二区av| 日韩精品一卡| 亚洲人妖在线| 麻豆中文一区二区| 日韩国产欧美| 亚洲综合婷婷| 日韩精品久久久久久久电影99爱| 国产精品久久久久久久久妇女| 日韩不卡免费高清视频| 日本va欧美va精品| 久久99青青| 久久av一区二区三区| 欧美国产视频| 国产一区二区高清| 国产精品视频一区二区三区综合| 婷婷激情综合| 正在播放日韩精品| 日韩高清在线观看一区二区| 伊人久久高清| 国产精品高颜值在线观看| 日韩精品欧美精品| 99国产精品久久久久久久成人热| 日韩高清不卡一区| 成人午夜毛片| 蜜臀av亚洲一区中文字幕| 极品av在线| 国产精品久久久久毛片大屁完整版 | 欧美日本一区| 亚洲一区亚洲| 欧美不卡高清一区二区三区| 日韩av不卡一区二区| 日韩网站在线| 国产精品精品国产一区二区| 国产亚洲一卡2卡3卡4卡新区| 日韩在线第七页| 日韩毛片一区| 亚洲一区日韩在线| 激情欧美一区二区三区| 成午夜精品一区二区三区软件| 亚洲精品黄色| 丝袜美腿一区二区三区| 国产美女精品| 日韩欧美一区二区三区免费观看| 国产无遮挡裸体免费久久| 在线视频日韩| 黄毛片在线观看| 日本一区二区三区中文字幕| 91久久午夜| 色综合www| 日韩欧美自拍| 国产精品久久观看| 91精品在线观看国产| 夜夜嗨一区二区| 日韩午夜精品| 亚洲精品欧洲| 国产日韩欧美| 久久99精品久久久久久园产越南| 精品久久久久久久| 97精品国产一区二区三区 | 黄色亚洲在线| 视频一区日韩精品| 久久精品亚洲| 国产成人精品三级高清久久91| 国产精品亚洲欧美日韩一区在线| 久久精品国产在热久久| 国产亚洲欧美日韩精品一区二区三区 | 日韩一区二区在线免费| 激情婷婷综合| 日韩有吗在线观看| 日韩精品一二区| 国产精品蜜月aⅴ在线| 国产欧美丝祙| 日韩国产一区二| 美女尤物国产一区| 欧美精品观看| 欧美一区91| 国产一区二区三区黄网站| 亚洲a在线视频| 日本综合视频| 美女网站视频一区| 日韩中文字幕91| 91精品视频一区二区| 国产一区一一区高清不卡| 欧美精选视频一区二区| 亚洲中字黄色| 国产日产精品_国产精品毛片| 国产亚洲激情| 综合日韩av| 日韩午夜视频在线| 久久国产精品美女| 黄色网一区二区| 欧美日韩国产在线一区| 欧美91在线|欧美| 亚洲手机在线| 日本亚洲三级在线| 日韩中文首页| 国产精品亚洲产品| 亚洲国产一区二区在线观看| 亚洲精品看片| 欧美精选一区二区三区| 精品国产亚洲日本| 另类国产ts人妖高潮视频| 精品久久久久久久| 国产精品一区亚洲| 日韩高清在线不卡| 久久九九电影| 国产调教精品| 亚欧洲精品视频在线观看| 午夜影院欧美| 久久久久国产精品一区三寸| 麻豆国产91在线播放| 免费视频一区二区| 日韩一区二区三区在线免费观看| 国产亚洲精品v| 久久男女视频| jiujiure精品视频播放| 日韩大片在线| 99精品视频在线观看免费播放| 捆绑调教美女网站视频一区| 麻豆中文一区二区| 免费高清在线一区| 蜜桃一区二区三区在线| 一区二区亚洲精品| 亚洲欧美日韩国产| 不卡在线一区二区| re久久精品视频| 亚洲免费网址| 日韩和欧美的一区| 国产精品一区二区三区www| 欧美日韩 国产精品| 精品中国亚洲| 91精品蜜臀一区二区三区在线| 久久精品国产www456c0m| 欧美亚洲国产精品久久| 激情欧美丁香| 亚洲精品小说| 亚洲三级视频| 日精品一区二区三区| 麻豆一区二区三| 麻豆免费精品视频| 91亚洲国产高清| 欧美 日韩 国产一区二区在线视频 | 蜜臀av免费一区二区三区| 免费视频久久| 国产视频一区二区在线播放| 国产欧美日韩精品高清二区综合区 | 久久国产精品免费精品3p| 美女av在线免费看| 日韩激情一区| 日韩综合一区| 欧美日韩国产在线一区| 国产欧美综合一区二区三区| 国产精品xx| 久久av在线| 欧美黄色精品| 国产精品高潮呻吟久久久久| 欧美精品黄色| 日产精品一区| 日韩精品视频中文字幕| 久久久久国产精品一区三寸| 国产精品天堂蜜av在线播放| 中文亚洲欧美| 麻豆精品蜜桃| **爰片久久毛片| 亚洲天堂av资源在线观看| 欧美日韩精品免费观看视欧美高清免费大片 | 日韩成人高清| www.九色在线| 国产精品亚洲欧美一级在线| 人人爽香蕉精品| 亚洲精华国产欧美| 亚洲www啪成人一区二区| 麻豆精品99| 国产专区精品| 成人午夜在线| 国产精品一区亚洲| 欧美三级第一页| 青青草视频一区| 国产精品一区高清| 日韩欧美美女在线观看| 婷婷综合亚洲|