2012-06-17 76 views
0

我已經閱讀了許多關於K. Scott Allen的博客上的CI和數據庫以及Paul M. Duvall撰寫的「持續集成,提高軟件質量並降低風險」的內容。 但我仍然有幾個關於數據庫中的數據的問題:來自數據庫的持續集成數據

如果我改變我的數據庫應該重建數據庫的方式該怎麼辦?在這種情況下,我可以從我的VCS運行我的創建/刪除/更改腳本,並且我的數據庫將啓動並運行。除我的數據。 在開發和測試環境中有相對簡單的解決方案,但對我的QA和生產環境有很大的影響。我如何在我的部署中處理我的數據?

有沒有人有這方面的經驗,或沒有人有關於此的好博客文章?

+0

這不就是目的嗎?重新創建數據庫我的意思。以增量方式控制數據庫模式意味着所有更改實際上都是以特定順序進行更改,版本化和運行。 每個腳本都會修改數據庫的以前狀態,而不是從頭開始重新生成它。這就是如果你手動完成,而不是通過計算差異數據庫的工具。 –

回答

0

首先,我必須告訴我,我沒有讀過這本書,因此我不知道這個代碼涵蓋的自動化代碼和任務/情況。

我不太確定你如何定義數據庫重建的必要性。

常見的情況是在開發中更改數據庫模式並在其他環境(通常使用實用程序)上同步它。更改還可能涉及存在帶有數據的新表(即新的查找表),要求數據同步。如果一切都得到開發和測試,並且同步是準確的,那麼Q.A沒有問題。和生產環境。但是也有一個很好的做法,就是有一個回滾解決方案(這是第一個應該測試的)。

很少(?)更改爲數據庫需要內部數據遷移。這是一個完全不同的情況,帶有強制性回滾計劃。根據我的經驗,這種情況被翻譯成嚴重的停機時間。 hays.com(全球招聘)就是一個很好的例子。他們將他們的國家站點數據庫逐一更改爲2011年所有域名(週末)停機時間的通用模式。

請讓我知道如果我錯過了你的觀點。