數(shù)據(jù)庫遷移 在軟件開發(fā)中,我們有svn、git這樣的版本管理器幫我們管理源代碼,我們可以很容的查看我們當(dāng)前代碼的版本,更新新版本代碼、回滾到舊版本等等操作。如果我們不使用版本管理器進行源代碼管理,維護代碼將是一項十分痛苦的工作。 開發(fā)過程中,改變
數(shù)據(jù)庫遷移
在軟件開發(fā)中,我們有svn、git這樣的版本管理器幫我們管理源代碼,我們可以很容的查看我們當(dāng)前代碼的版本,更新新版本代碼、回滾到舊版本等等操作。如果我們不使用版本管理器進行源代碼管理,維護代碼將是一項十分痛苦的工作。
開發(fā)過程中,改變的可能不僅僅是代碼本身,隨著業(yè)務(wù)需求的改變、技術(shù)設(shè)計的改變,我們數(shù)據(jù)庫的schema也可能發(fā)生改變,數(shù)據(jù)庫表中的某些值也可能發(fā)生改變。如果數(shù)據(jù)庫相關(guān)的信息沒有“版本管理”會出現(xiàn)什么問題呢?
假設(shè)我們項目中,有多個dev同時進行開發(fā),在Build Pipeline上,有分為了Dev、CI、Test、Production這么幾個不同的環(huán)境:
Java中,我們也有一些可選的工具。Flyway就是其中挺不錯的一個http://flywaydb.org/
類似Flyway這樣的工具基本原理都非常簡單,數(shù)據(jù)庫版本的升級都是通過SQL或者Java代碼來完成。
每執(zhí)行一次升級或者更新,數(shù)據(jù)庫中就會把這個操作的版本號記錄下來。這樣就可以非常容易的判斷出,當(dāng)前數(shù)據(jù)庫處于哪個版本。
使用Flyway
Flyway的官方文檔已經(jīng)做得比較詳細了,大家照著做做,一下就明白了。
Flyway First Step: http://flywaydb.org/getstarted/firststeps/api.html
for Java
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com