flyway對資料庫進行版本管理主要由metadata表(預設是flyway_schema_history)和6種命令完成,metadata主要用於記錄每次執行的指令碼和version等資訊,下面一一介紹。
metadata表(flyway_schema_history)
flyway中最核心的就是用於記錄所有版本執行結果和狀態的metadata表,在flyway首次啟動時會建立預設名為flyway_schema_history的元資料表,表結構如下(mysql):
1. migrate命令
將schema migrate到最新版本。如果flyway_schema_history不存在,flyway將自動建立它。migrate是flyway工作流程的核心。它將掃瞄檔案系統或類路徑以獲取可用的migrate。它會將它們與已應用於資料庫的migrate進行比較。如果發現任何差異,它將migrate資料庫以縮小差距。migrate最好應在應用程式啟動時執行,以避免資料庫與**期望之間的任何不相容性。
配置項:locations
2. clean命令
清除掉對應資料庫schema中的所有物件。clean對開發和測試有很大的幫助。通過徹底清除已配置的schemas,它將有效地為您提供乙個全新的開始。所有物件(表、檢視、過程等)都將被刪除。注意:不要在生產環境使用
3. info命令
列印所有migrations的詳細資訊和狀態資訊。列印資訊讓你看到哪些migrations已經應用,哪些遷移還在等待執行,何時執行,以及遷移是否成功。
4. validate命令
5. baseline命令
baseline是針對已經存在schema結構的資料庫的一種解決方案,即實現在非空資料庫中新建metadata表,並把migrations應用到該資料庫。baseline可以應用到特定的版本,這樣在已有表結構的資料庫中也可以實現新增metadata表,從而利用flyway進行新migrations的管理了。如果表中已經存在了metadata表,那麼baseline相關的配置無效。
主要配置有:
6. repair命令:修復metadata表。
repair是修復flyway_schema_history表的問題的工具。它有兩個主要用途:
刪除失敗的遷移條目
將應用的遷移的校驗和,描述和型別與可用的遷移重新對齊
mysql提供的六種約束 MySQL中的六個約束
主鍵約束 primary key 乙個表中只能有乙個主鍵,主鍵值不能為空,不能重複 設定主鍵約束 1 在建立表時就設定好主鍵約束 create table person id int primary key 或 create table person id int name char 10 prim...
語言提供了六種位運算子
一 位運算子 語言提供了六種位運算子 按位與 按位或 按位異或 取反 左移 右移 1.按位與運算 按位與運算子 是雙目運算子。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1 否則為0。參與運算的數以補碼方式出現。例如 9 5可寫算式如下 00001001 9的二...
qml multitouch的六種訊號
1.canceled list touchpoints 當由於另一項竊取了觸控事件處理而取消了新的觸控事件時,將發出此訊號。此訊號用於高階用途 當有多個multipointtoucharea處理輸入時,或者在乙個閃爍的內部有乙個multipointtoucharea時,它非常有用。在後一種情況下,如...