2010-01-05 134 views
5

我的整個環境,java,js和php都是使用我們的持續集成服務器(Hudson)設置的。 但是,我如何才能將數據庫放入組合中?與mysql的持續集成

我想爲單元測試,開發和qa部署新鮮的MySql數據庫。

然後我想區分開發與生產,並有一個更新腳本,將用於釋放。

回答

0

是否HyperSQL內存數據庫(http://hsqldb.org/)更適合運行您的測試?

+0

我並不想加速測試,但這會有所幫助。 現在我正在嘗試對實際目標執行一些系統測試。 – Mindgauge 2010-01-05 21:18:35

1

您可以在Ant中編寫腳本來完成所有這些工作,並在構建過程中執行它。

+0

我明確地計劃使用Ant進行自動化,我只需要一些可以執行差異和其他邏輯的任務。 – Mindgauge 2010-01-05 21:17:23

1

也許調查數據庫遷移,如migrate4j

+0

有趣。我希望有一些自動化,但從我看來,這看起來是一個很好的解決方案。 – Mindgauge 2010-01-05 21:09:40

3

我會看liquibase(http://www.liquibase.org /)。它是一個開源的基於數據庫的數據庫遷移工具,可以集成到您的構建腳本中,並可以處理數據庫差異。我以前用它來管理項目的數據庫更新,並取得了很大的成功。

+0

這看起來像我所需要的。我喜歡螞蟻一體化。 – Mindgauge 2010-01-05 21:19:44

1

編寫一個腳本來設置您的測試數據庫。在構建測試運行之前,從構建工具運行它,無論如何。我手動執行此操作,它工作得很好;仍然將其集成到maven中。不應該太麻煩。

0

對於管理遷移到版本之間的數據庫sechema,你可以做很多事情不如使用Scala的遷移: http://opensource.imageworks.com/?p=scalamigrations

這是一個開源工具,我發現在Java開發生態系統很好地集成如果你的團隊一直在尋找引進Scala的方法,那麼它就會有更多的吸引力。

它也應該能夠從頭開始構建數據庫,用於測試目的。

0

http://code.google.com/p/mysql-php-migrations/試試吧! 非常面向PHP,但對於大多數目的來說似乎很好。

+1

不錯,工作,轉移到https://github.com/davesloan/mysql-php-migrations – 2015-04-08 06:07:56