2017-06-28 46 views
0

據Martin Fowler的這個優秀的article如何包括數據庫遷移腳本在構建構件

一旦編譯成功完成,CI服務器打包生成工件併發布。這些生成工件包含數據庫遷移腳本,使他們能夠在

我的問題是如何在實踐中實現了基於Java的工作流程下游的環境(...)被應用到數據庫?構建工件通常是.war,.jar或.ear文件,併發布到Nexus,Archiva或Artifactory服務器。遷移腳本是否可以包含在這些工件中,以便可以在不對目標環境進行任何修改的情況下執行遷移?像Flyway或Liquibase這樣的工具可以用於此目的嗎?

回答

0

是的!我們(Flyway)強烈建議將您的遷移與您的應用程序一起打包並在啓動時運行它們。通過這種方式,您可確保數據庫始終包含當前版本的應用程序所期望的對象(表,視圖,存儲過程等)。

0

我們使用maven來構建工件,並且我們在src/main/resources/db/migration文件夾下有flyway遷移腳本。

應用程序是一個春天的網絡應用程序,並在春季容器啓動時,它運行飛橋遷移。如果有問題,應用程序永遠不會啓動。

這樣我們可以確保數據庫狀態是啓動時應用程序需要的。

相關問題