flyway java_flyway的使用
換新工作 框架很新
有些東西沒見過 現學一下
從 flyway開始
springboot整合教程
java寫遷移腳本
概念
用途:Flayway是一款數據庫版本控制管理工具,
支持數據庫版本自動升級,Migrations可以寫成sql腳本,也可以寫在java代碼里;
不僅支持Command Line和java api ,
也支持Build構建工具和Spring boot,
也可以在分布式環境下能夠安全可靠安全地升級數據庫,
同時也支持失敗恢復
運行方式
首次啟動會創建默認名為SCHEMA_VERSION的元素局表。 表中保存了版本,描述,要執行的sql腳本
flyway找腳本的時候默認去src/mian/resources下面的db/migration
相關命令
Migrate是指把數據Schema遷移到最新版本,在Migrate時會檢查MetaData元數據表,如果不存在就創建MetaData表,MetaData用于記錄數據庫歷史變更等信息;
Migrate會掃描指定文件系統或者classpath下的Migrations。會與MetaData中的記錄進行對比,進行版本升級;
Clean:清除掉對應數據庫Schema中所有的對象,包括表結構,視圖,存儲過程等,clean操作在dev 和 test階段很好用;
Info:用于打印所有的Migrations的詳細和狀態信息,也是通過MetaData和Migrations完成的,可以快速定位當前的數據庫版本;
validate:驗證以及apply的Migrations是否有變更,默認開啟的;原理是對比MetaData表與本地Migrations的checkNum值,如果值相同則驗證通過,否則失敗。
BaseLine:對已經存在數據庫Schema結構的數據庫一種解決方案。實現在非空數據庫新建MetaData表,并把Migrations應用到該數據庫;也可以應用到已有表結構的數據庫中也可以實現添加Metadata表。
repair:repair操作能夠修復metaData表,該操作在metadata出現錯誤時很有用
使用步驟
1.springboot來整合
2.建src/db/migration文件夾
3.建V開頭+版本號+雙下劃線+描述.sql 腳本文件
4.增加flyway的java類(執行數據遷移和讀取配置文件)--可選
5.數據庫有了新的改動,導出新版本sql文件到db.migration 自動更新
總結
以上是生活随笔為你收集整理的flyway java_flyway的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: teledb兼容mysql5.7_mar
- 下一篇: java getstringbounds