使用Flyway管理數據庫更新


文檔:使用Flyway管理數據庫更新.note
鏈接:http://note.youdao.com/noteshare?id=d7ef6102042f58b9e2e01d9aff5d842e&sub=1677AD75832D440BA5BE61DEA45F52D9

 
昨天聽說了flyway,今天試了一下,整理筆記備忘。
 
一、項目環境簡介
1、基於Spring Boot 2.2.5.RELEASE
2、使用Spring Boot集成的flyway,不使用單獨的maven插件
 
二、集成步驟
1、pom.xml中添加依賴
<!-- flyway -->
<dependency>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-core</artifactId>
</dependency>
 
2、創建工作目錄
 
3、添加flyway配置
 
4、使用示例
4.1 假設在開發庫中增加了一個表,並且有初始化數據,使用navicat瘵新增表的結構及數據導出,命名為V2.1.1__role_copy1.sql,拷貝到db/migration目錄下
4.2 啟動項目,會自動執行V2.1.1__role_copy1.sql
4.3 再增加一個表,導出SQL,重命名為V2.1.2__message_copy1.sql,拷貝到db/migration目錄下
4.4 啟動項目,會自動執行V2.1.2__message_copy1.sql
4.5
4.6
 
5、命名規則
V + 版本號 +雙下划線 + 描述 + 結束符(如.sql) 。
注意:
1. 版本號位數需要一致,並且只能新增,不能修改。如V2.0執行后,新增V2.0.1是不會執行的
2. 如果db/migration中刪除了某腳本,在flyway_schema_history表中要刪除對應記錄
3. 如果某次執行失敗,下次執行前,在flyway_schema_history表中要刪除對應記錄
 
三、Flyway簡介
Flyway 是一款開源的數據庫版本管理工具,它更傾向於規約優於配置的方式。Flyway 可以獨立於應用實現管理並跟蹤數據庫變更,支持數據庫版本自動升級,並且有一套默認的規約,不需要復雜的配置,Migrations 可以寫成 SQL 腳本,也可以寫在 Java 代碼中,不僅支持 Command Line 和 Java API,還支持 Build 構建工具和 Spring Boot 等,同時在分布式環境下能夠安全可靠地升級數據庫,同時也支持失敗恢復等。
基於7個基本命令: 遷移清理信息驗證撤消基線修復
 
四、使用前后對比
1、使用前,開發整理sql腳本,運維更新到生產環境
2、使用后,開發將sql腳本打包到更新包中,項目啟動自動執行sql腳本
 
 
參考文章 :


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM