在工作中我們使用Oracle和C#/ASP.net來處理客戶的網站,這個網站規模非常大,所以資料庫是非常大的。
我們使用Perforce 進行版本控制,並在資料庫發生更改時將創建或替換腳本添加到FogBugz 案例中,到目前為止這一切都很好,因為我們現在正處於五個開發人員正在為系統進行五個擴展的階段,每個擴充都在一個單獨的 Perforce 分支。不幸的是,由於資料庫大小的原因,我們無法獲得重複的資料庫,因此每個人仍在同一個資料庫上工作。這顯然是導致問題的一個原因:就在十分鐘前,我們遇到了一個問題,分支的儲存過程變更傳播到預生產伺服器,並導致測試人員大量崩潰。理想情況下,我們希望有一種方法來追蹤這些更改,而無需透過 FogBugz 手動追蹤它們。
我的問題是:你們要如何處理這種情況?我確信現在一定有一種好方法來處理 Oracle 資料庫中的版本控制,或至少追蹤更改。
答案1
如果資料庫升級可行,11gR2 引入了程式碼版本控制的概念。
您的資料架構與程式碼架構相同嗎?將它們分開可能是個好主意。這樣您就可以擁有相同的資料庫表集,但具有不同的程式碼模式集。然後,一個專案可以使用一種程式碼模式,而另一個專案可以使用第二種模式。
只要你綁定到一組數據,那麼你就會受到限制。如果一個項目需要單一字符值,但另一個項目將其擴展為兩個字符,則可能會出現問題。