有時候需要在程序啟動的時候饥悴,提前建表和插入一下初始化的參數(shù),flyaway則是優(yōu)雅的做這個事情的:定義一個初始化的版本卦碾,所有比這個版本大的腳本文件均得到執(zhí)行铺坞,已經(jīng)執(zhí)行過的腳本文件下次再啟動的時候無不會再執(zhí)行。
1.首先需要引入包:
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
</dependency>
2.其次在yml里定義基準版本洲胖,這里為0.1济榨。
Spring
flyway:
baseline-on-migrate: true
baseline-version: 0.1
enabled: true
3.在resource下建立腳本的文件夾(db/migration)和文件名,文件名稱遵循:V<version>[<SEQ>][description] 绿映。版本號的數(shù)字間以小數(shù)點(. )或下劃線( )分隔開擒滑,版本號與描述間以連續(xù)的兩個下劃線( )分隔開。如V1_1_0__Update.sql叉弦。簡單說來就是取一個名字丐一,這個名字由雙下劃線(__)分開,左邊是版本號淹冰,必須大于yml里配置的基準版本號库车,右邊注明用途,例如:
這樣在spring boot程序啟動的時候樱拴,會執(zhí)行上圖的這兩個腳本柠衍,同時數(shù)據(jù)庫會自動生成一張表flyway_schema_history洋满,里面記錄了版本執(zhí)行情況: