Flyway 的使用及Spring Boot整合Flyway
一、簡單介紹
Flyway 是一個開源、跨環境的資料庫遷移工具,它強烈主張簡單性和約定性而不是配置。
Flyway 是一個便於多人開發對資料庫管理的工具,將sql語句寫入檔案中,只需要在控制檯輸入指令就可以完成資料庫的修改
二、使用方法
參考:Flyway官方文件
首先新增maven依賴,如果你使用其他管理工具,請依照官網進行使用
<!--引入flyway外掛--> <plugin> <groupId>org.flywaydb</groupId> <artifactId>flyway-maven-plugin</artifactId> <version>5.2.4</version> <configuration> <url>jdbc:mysql://localhost:3306/db_community</url> <user>root</user> <password>root</password> </configuration> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> </dependencies> </plugin>
你只需要會sql語句的寫法即可,將你需要執行的sql寫入一個檔案,檔案命名規則為V1.2__Description.sql
,前面一個大寫字母V,接上數字,然後再寫兩個下劃線,中間是你自定義檔名,儘量做到見名知意,檔案以.sql
結尾
存放目錄為:resources/db/migration
開啟idea控制檯,輸入mvn flyway:migrate
,出現BUILD SUCCESS
即執行成功,即使報錯,列印的日誌也很清楚,可以很快的找到錯誤點
我在上面的檔案寫了建立user表的語句,執行後發現數據庫額外多了一個flyway_schema_history
表,這張表實際上記錄了你操作的資訊
如果我想為user表新增一個bio欄位,直接新建一個sql檔案,起好名字,寫入sql語句,執行命令,切記,不能在上一個檔案裡直接修改!!!
可以看到,真的多了一個欄位
flyway_schema_history
表結構如下
三、常見錯誤
如果你遇到這樣的錯誤,百度對應版本,修改版本,使資料庫和Flyway版本在同一水平
這個錯誤是由於sql檔名寫錯了導致的,特別注意是兩個下劃線!!
相關推薦
Flyway 的使用及Spring Boot整合Flyway
一、簡單介紹 Flyway 是一個開源、跨環境的資料庫遷移工具,它強烈主張簡單性和約定性而不是配置。 Flyway 是一個便於多人開發對資料庫管理的工具,將sql語句寫入檔案中,只需要在控制檯輸入指令就可以完成資料庫的修改 二、使用方法 參考:Flyway官方文件 首先新增maven依賴,如果你使用其
Spring Boot 整合 Flyway 實現資料庫版本控制
在專案迭代開發中,難免會有更新資料庫 Schema 的情況,比如新增新表、在表中增加欄位或者刪除欄位等,那麼當我對資料庫進行一系列操作後,如何快速地在其他同事的電腦上同步?如何在測試/生產伺服器上快速同步? ![](https://img-blog.csdnimg.cn/2020050711360495
Spring boot 整合資料庫版本管理工具-flyway
步驟: 1:在pom檔案中新增Flyway的maven依賴 org.flywaydb flyway-core 4.1.2 2:在resource目錄下建立資料庫sql集合資料夾,Flyway預設該資料夾名字為:db/migration 3:在applicat
Spring Boot整合Spirng-data-jpa及使用
Spring-data-jpa可根據實體類自動建立表結構,提供基本的增刪改查方法,資料訪問層非常簡潔,只是一層介面。 1.pom引進依賴 <!--dataSource--> <dependency> <groupI
Spring Boot整合Redis及RedisTemplate常用操作
Spring Boot整合Redis maven依賴 <!-- redis 依賴 --> <dependency> <groupId>org.springframework.boot</groupId> <
Spring Boot 整合Mybatis 之 Mapper外掛(自動生成XML及Mapper程式碼)
pom檔案 主要程式碼 <dependencies> <dependency> <groupId>mysql</groupId> <artifactI
Spring boot 整合mybatis通用mapper配置步驟及注意事項
一、新增依賴 二、繼承通用mapper,可以重寫和選擇需要的mapper方法,可以去掉一些不需要的方法(一般直接繼承即可) Mapper3提供的全部的方法,可以檢視Mapper3通用介面大全 三、application.properties配置 四、設定dao路徑 在
Spring boot 整合CXF webservice遇到的一些問題及解決,
在spring boot整合CXF開發是遇到的一些問題 以及整合方式整合過程 網上資料引入cxf-spring-boot-starter-jaxws依賴即可<dependency> <groupId>org.apache.cxf&l
Spring boot 整合Spring Security過程中的出現的關於Session scope的異常排查及解決方案
背景介紹 最近做的一個專案,其一需要用到Spring 的oauth認證功能, 其二需要對spring 的ContextRefreshedEvent 這個事件進行監聽,實現一部分自定義註解的功能(具體功能不作贅述),本來以為毫不相關的兩個功能,卻出現了一些意料之
Spring Boot 整合 Shiro實現認證及授權管理
Spring Boot Shiro 本示例要內容 基於RBAC,授權、認證 加密、解密 統一異常處理 redis session支援 介紹 Apache Shiro 是一個功能強大且易於使用的Java安全框架,可執行身份驗證,授權,加密和會話管理。藉助Shiro易於理解的API,您可以快速輕鬆地保護任何應
spring-boot整合dubbo:Spring-boot-dubbo-starter
hub pack 自動配置 china end service get exceptio 整合 為什麽要寫這個小工具 如果你用過Spring-boot來提供dubbo服務,相信使用中有很多“不爽”的地方。既然使用spring boot,那麽能用註解的地方絕不用xml配置,這
Spring Boot 整合 Elasticsearch,實現 function score query 權重分查詢
search 小寫 業務 jpg 啟動會 last cti cal agen 摘要: 原創出處 www.bysocket.com 「泥瓦匠BYSocket 」歡迎轉載,保留摘要,謝謝! 『 預見未來最好的方式就是親手創造未來 – 《史蒂夫·喬布斯
spring boot整合mybatis深坑之c3p0的詳細配置
text context ati reat source ast type fig oot 項目地址:https://gitee.com/zhangjunqing/spring-boot/tree/master/springboot-mybatis-notice 本人在c3
spring boot整合swagger ui (RESTFUL接口的文檔在線自動生成+功能測試功能軟件,前後端分離快速開發)
oot images user builder img iop spi update and swagger ui可以通過來攔截controller層,生成請求API,並將其展示在瀏覽器當中。我們可以直接通過瀏覽器來查看和調試接口。 1 添加maven依賴
Spring boot整合jsp
jstl標簽庫 中學 encoding 正常 group lan 名稱 free vax 這幾天在集中學習Spring boot+Shiro框架,因為之前view層用jsp比較多,所以想在spring boot中配置jsp,但是spring boot官方不推薦使用jsp
spring boot 整合mybatis
參考 plugins odin system stack name incr xmlns xsd 參考: http://blog.csdn.net/saytime/article/details/74783296 spring boot可以使用全註解的方式進行開發,極大的提
spring boot整合mybatis+mybatis-plus
可靠 nic false system ttr .post 代碼生成 -i filters Spring boot對於我來說是一個剛接觸的新東西,學習過程中,發現這東西還是很容易上手的,Spring boot沒配置時會默認使用Spring data jpa,這東西可以說一個
spring boot整合quartz定時任務案例
blank pos jdk com post 4.0 learn int idea 1.運行環境 開發工具:intellij idea JDK版本:1.8 項目管理工具:Maven 4.0.0 2.GITHUB地址 https://github.com/nbfujx/spr
Spring-Boot整合freemarker引入靜態資源css、js等(轉)
mark pan 創建 line path main 實現 content -m 一、概述springboot 默認靜態資源訪問的路徑為:/static 或 /public 或 /resources 或 /META-INF/resources 這樣的地址都必須定義在src/
企業分布式微服務雲SpringCloud SpringBoot mybatis (十三)Spring Boot整合MyBatis
ech 字段 osc 操作 with public assert 連接 ref Spring中整合MyBatis就不多說了,最近大量使用Spring Boot,因此整理一下Spring Boot中整合MyBatis的步驟。搜了一下Spring Boot整合MyBatis的文