我正在建立一個持續集成服務器(Hudson)來構建一個Java項目並運行相關的單元/集成測試。大多數測試訪問數據庫,測試數據保存在DbUnit XML文件中。持續集成:保持測試數據庫模式是最新的
我正在尋找一種方法來自動保持測試數據庫模式是最新的。目前,針對特定版本的SQL腳本存儲在一個發行版本命名的目錄:
└───scripts
├───0.1.0
├───0.1.1
├───0.1.2
├───0.1.4
例如,對於0.1.4版本的SQL腳本
scripts\0.1.4\script-0.1.4.sql
的問題是,這些腳本包含模式更改的混合(例如ALTER TABLE ...)和對靜態表的更改(例如向USER_TYPE表添加新角色)。
對於單元測試,我只想應用模式更改,因爲如上所述,單元測試的所有數據都保存在DbUnit XML文件中。雖然我可以將這兩種類型的數據庫更改分爲不同的文件,但是在將版本應用於質量檢查,生產等時,模式更改和數據更改之間通常會存在依賴關係。
無論如何,這只是一個非常冗長的方式,詢問是否有人提出了一種強大的方法來自動保持測試模式是最新的?我知道Unitils對保持測試模式是最新的有一些支持,但我不確定它是否可以忽略SQL增量腳本中的數據更新語句。