亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Flyway數(shù)據(jù)庫版本控制的教程詳解

 更新時間:2020年05月27日 10:38:17   作者:CALLME熊大  
這篇文章主要介紹了Flyway數(shù)據(jù)庫版本控制的教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧

前言:

最近工作上遇到個問題,項目開發(fā)過程中,開發(fā)代碼可以通過svn來版本控制,但數(shù)據(jù)庫又該如何來管理呢?多個人接觸數(shù)據(jù)庫,當(dāng)對表、字段或數(shù)據(jù)修改后,又怎么來同步呢?經(jīng)過苦尋,發(fā)現(xiàn)了個叫flyway的開源項目:http://flywaydb.org/ ,java編寫,官方的介紹就是我的初衷,豈能不心動?

官網(wǎng)是英文的,查了下居然沒有中文文檔,難道沒有中國人用?

慢慢看了下官方文檔,試著做了下,一次成功!(離開電腦,蹦達(dá)幾下,繼續(xù)坐回電腦)

自己寫個小教程吧

1、將flyway-core-2.3.jar放到項目lib中,下載地址:http://flywaydb.org/getstarted/download.html

2、在src目錄下建立保存sql版本文件的路徑:src/db/migration,flyway默認(rèn)查找路徑,可以改,但沒必要。


3、在sql版本文件路徑中增加sql文件,命名規(guī)則,如:V1__2014_4_13.sql ,V開頭+版本號+雙下劃線+描述,描述中可以有下劃線,后綴為sql。別問能不能修改這個規(guī)則,否則,我咬你。

4、增加flyway的java類,有命令行工具,但還是java類用起來方便,如下:

package com.cms.flyway;

import java.io.IOException;
import java.util.Properties;

import com.googlecode.flyway.core.Flyway;

public class FlywayApp {
 
 // 讀取數(shù)據(jù)庫配置參數(shù)
 private static Properties config = new Properties();
 static {
  try {
   config.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("activerecord.properties"));
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
 
 // 執(zhí)行數(shù)據(jù)庫版本升級
 public static void migration() {
  // Create the Flyway instance
  Flyway flyway = new Flyway();
  
  // Point it to the database
  flyway.setDataSource(config.getProperty("com.et.ar.ActiveRecordBase.url"), config.getProperty("com.et.ar.ActiveRecordBase.username"), config.getProperty("com.et.ar.ActiveRecordBase.password"));
  flyway.setInitOnMigrate(true);
  
  // Start the migration
  flyway.migrate();
 }
}

5、在服務(wù)器啟動的時候或者定時器 執(zhí)行該類的migration()方法即可。

6、第一次執(zhí)行會生成一個專門存放數(shù)據(jù)庫schema_version的表


7、以后數(shù)據(jù)庫有了新的改動,導(dǎo)出新版本sql文件(如:mysqldump -u -p databasename>/xx.sql)改為新版本命名文件放到db.migration路徑下,flyway會自動幫你更新數(shù)據(jù)庫版本的。

總結(jié)

到此這篇關(guān)于Flyway數(shù)據(jù)庫版本控制的教程詳解的文章就介紹到這了,更多相關(guān)Flyway數(shù)據(jù)庫版本控制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Maui Blazor 使用攝像頭實現(xiàn)代碼

    Maui Blazor 使用攝像頭實現(xiàn)代碼

    由于Maui Blazor中界面是由WebView渲染,所以再使用Android的攝像頭時無法去獲取,因為原生的攝像頭需要綁定界面組件,這篇文章主要介紹了Maui Blazor 使用攝像頭實現(xiàn),需要的朋友可以參考下
    2023-01-01
  • xmind免費安裝使用保姆級教程詳解

    xmind免費安裝使用保姆級教程詳解

    xmind?是一款功能強大、易用且具有豐富資源的思維導(dǎo)圖軟件,本文將為您介紹?xmind?的安裝和使用方法,包括基本功能、高級功能、專業(yè)版功能、使用技巧、常見問題等,幫助您快速上手使用?xmind
    2023-04-04
  • ElasticSearch核心概念

    ElasticSearch核心概念

    Elaticsearch簡稱為es,es是一個開源的高擴展的分布式全文檢索引擎,本文給大家介紹ElasticSearch基礎(chǔ)知識介紹,對ElasticSearch相關(guān)知識感興趣的朋友一起看看吧
    2022-07-07
  • 偽靜態(tài)技術(shù)介紹與優(yōu)缺點分析(較完整篇)

    偽靜態(tài)技術(shù)介紹與優(yōu)缺點分析(較完整篇)

    偽靜態(tài)太適合用在普通的企業(yè)網(wǎng)站上了——既不要求高并發(fā),但同時又很在乎seo(搜索引擎優(yōu)化),而且也要求后臺可動態(tài)更新。
    2009-11-11
  • 可能是最通俗的一篇介紹markdown的文章

    可能是最通俗的一篇介紹markdown的文章

    這些日子一直在簡書上使用markdown寫作,已經(jīng)漸漸的癡迷于這種簡潔純粹的寫作方式了。不過就我逐漸入門markdown的寫作過程來看,目前我看到的各種介紹markdown寫作方式的文章都還略顯極客,對于大多數(shù)像我一樣沒有基礎(chǔ)的普通人來說,可能內(nèi)容上的可接受性沒有那么強
    2016-08-08
  • Django 使用 cookie 實現(xiàn)簡單的用戶管理功能

    Django 使用 cookie 實現(xiàn)簡單的用戶管理功能

    這篇文章主要介紹了Django 使用 cookie 實現(xiàn)簡單的用戶管理功能,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • 好玩的vbs微信小程序之語言播報功能

    好玩的vbs微信小程序之語言播報功能

    這篇文章主要介紹了好玩的vbs微信小程序之語言播報功能,非常好玩有趣,需要的朋友跟隨小編一起看看吧
    2019-09-09
  • Git的撤銷、修改和回退命令

    Git的撤銷、修改和回退命令

    這篇文章介紹了Git的撤銷、修改和回退命令,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 做一個優(yōu)秀程序員應(yīng)該知道的15件事

    做一個優(yōu)秀程序員應(yīng)該知道的15件事

    這篇文章主要介紹了做一個優(yōu)秀程序員應(yīng)該知道的15件事,寫的很好,需要的朋友可以參考下
    2014-07-07
  • Git常用命令的使用

    Git常用命令的使用

    本文主要介紹了Git常用命令的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05

最新評論