數據庫版本管理工具Flyway——基礎篇

 

Flyway 默認規約 SQL 腳本文件默認位置是項目的源文件夾下的db/migration 目錄。
Java 代碼默認位於db.migration 包。
SQL 腳本文件及Java 代碼類名必須遵循如下命名規則:V[_][__description] 。
版本號的數字間以小數點(. )或下劃線(_ )分隔開,版本號與描述間以連續的兩個下劃線(__ )分隔開。
如V1_1_0__Update.sql 。
Java 類名規約不容許存在小數點,因此Java 類名中版本號的數字間只能如下劃線進行分隔。java

<plugin>  
       <groupId>com.googlecode.flyway</groupId>  
       <artifactId>flyway-maven-plugin</artifactId>  
       <version>1.7</version>  
       <dependencies>  
              <dependency>  
                     <groupId>mysql</groupId>  
                     <artifactId>mysql-connector-java</artifactId>  
                     <version>${mysql.connector.version}</version>  
              </dependency>  
       </dependencies>  
       <configuration>  
              <driver>com.mysql.jdbc.Driver</driver>  
              <url>jdbc:mysql://localhost/flywaydemo?useUnicode=true&amp;characterEncoding=utf-8</url>  
              <user>root</user>  
              <password></password>  
   
              <!-- 設置接受flyway進行版本管理的數據庫,多個數據庫以逗號分隔 -->  
              <schemas>flywaydemo</schemas>  
              <!-- 設置存放flyway metadata數據的表名 -->  
              <table>schema_version</table>  
              <!-- 設置flyway掃描sql升級腳本、java升級腳本的目錄路徑或包路徑 -->  
              <locations>  
                     <location>flyway/migrations</location>  
                     <location>com.kedacom.flywaydemo.migrations</location>  
              </locations>  
              <!-- 設置sql腳本文件的編碼 -->  
              <encoding>UTF-8</encoding>  
              <!-- 設置執行migrate操做以前的validation行爲 -->  
              <validationMode>ALL</validationMode>  
              <!-- 設置當validation失敗時的系統行爲 -->  
              <validationErrorMode>FAIL</validationErrorMode>  
       </configuration>  
</plugin>  

 

上面的插件配置包含了幾方面的配置信息:mysql

  • 聲明插件
  • 聲明數據庫驅動的依賴包
  • Flyway 配置——數據庫鏈接配置
  • Flyway 配置——Flyway 參數與行爲配置

執行Maven 命令進行Flyway 操做(下面列出幾種經常使用的操做)sql

  • mvn flyway:init (初始化Flyway metadata )
  • mvn flyway:migrate (執行Flyway 升級操做)
  • mvn flyway:validate (校驗Flyway 數據正確性)

 

http://blog.csdn.net/nydia_lvhq/article/details/51362649數據庫

相關文章
相關標籤/搜索