我有一個支持多種數據庫的應用程序,包括SQL * Server 2008,Oracle 10G,Oracle 11G,MYSQL 5等。已經在Maven中完成了三件事:如何使用Maven處理多個數據庫模式創建腳本?
1)數據庫,以便系統可以在構建期間將其用於集成測試。
2)的Maven調用Hibernate3的插件來自動生成使用就是hbm2ddl架構腳本。
3)哈德森矩陣構建設置,使集成測試是針對每一個數據庫自動運行。
我已經注意到(沒有驚奇),通過就是hbm2ddl創建的腳本取決於數據庫方言是不同的。
然而,包裝爲客戶提供系統的時候,我們需要手動進入各種哈德森建立,並從那裏採摘數據庫特定腳本。一個乏味的過程,我相信會在最糟糕的時刻咬我們!
反正是有,我們可以有Maven的自動生成,然後收集了所有這些數據庫腳本,使他們能夠沿着側打包我們交付給客戶WAR文件?我正在考慮Maven assembly插件將它壓縮一切,但我不確定!
不知道這會有所幫助,但讓我知道你的想法。 – 2010-10-06 17:50:58
想了一些之後,我認爲使用Maven的數據庫機制可能是錯誤的。這對於開發者機器來說非常簡單和有用!但是對於CI構建機器...並不好。 – HDave 2010-10-06 18:22:50
@帕斯卡爾 - 我正在認真考慮放棄hbm2ddl並與Liquibase合作。隨着項目的成熟,我將不得不提供不同版本之間的遷移路徑。它看起來也是標籤工具可以很好地處理集成測試數據的加載。我唯一的問題是讓Maven liquibase插件在所有方言中生成SQL腳本...... – HDave 2010-10-06 21:28:01