2012-02-14 97 views
0

我還不熟悉Commerce Server及其開發工具。 據我所知,有一個數據庫包括,以容納出售的東西。 可以在有一臺測試服務器和多個開發工作站的情況下設置開發基礎架構,並且共享數據庫嗎? 我還有一個單獨的服務器,它包含一個CVS repo,並且多個開發人員將手動從CVS服務器上提取,執行工作並簽入。 測試服務器上的構建和部署工具將從CVS中提取,並且部署到測試服務器。 我的問題是共享數據庫,每個開發工作站是否需要它自己的數據庫? 尋找關於如何最好地處理多個開發人員,一臺測試服務器和一個源代碼控制系統的大綱。Websphere Commerce源代碼管理設置

回答

0

我從不嘗試共享數據庫,但我不認爲這是個好主意,因爲所有的開發環境都可以覆蓋其他開發者更改(在數據庫中)。

如果開發者必須修改數據庫結構,那可能會傷害每個人。

我建議在每個開發環境上都有一個數據庫,不必與測試環境相同。

爲了您的構建和部署測試服務器是好的。

0

這取決於團隊有多大?在我工作的大部分小型項目中,每個人都有自己的DB,特別是當DB是Derby/Cloudscape時,但是對於使用DB2或Oracle的大型項目,總是建議使用存儲在其他某臺機器上的共享DB比每個人的本地機器。共享機可能會導致問題,如果一個人刪除數據,但這可以得到解決只有一個小的備份等,而另一方面,如果團隊中的每個人都有自己的數據庫,它將很難確保每個人的數據庫同步(即小型更新sql需要在每個人的機器上運行,以使他們的工作站在每次同步來自CVS的日常工作代碼後工作)

0

你可以這樣做。 IBM確實支持該配置。大多數開發人員使用WCS Developer附帶的嵌入式WCS環境。它將運行時和Apache Derby一起作爲數據庫。

另外我會建議您與IBM產品專家交談。他們可以告訴您最佳做法,並且您可以在購買軟件時訪問他。只需打開一個PMR並詢問你的問題。

0

爲每個開發人員使用本地數據庫。

然後使用類似liquibase的東西來管理任何數據庫結構更改。 要求所有數據庫更改都要編寫腳本,並放在源代碼庫中,然後將liquibase servlet添加到您的Stores項目中。這樣,當開發人員檢出新東西時,本地數據庫將在重新啓動服務器時自動更新。

這有一個額外的好處,即您的sql腳本實際上至少經過團隊開發者一次測試。

現在,理想情況下,您也會爲您的開發人員使用wcbd。但是由於這並沒有跟蹤哪些腳本已經在你的系統上運行,編寫超級防衛sql腳本(檢查這個表是否已經有列X擴展到Y字符)或者dataload,你可能會覆蓋真正不應該的東西。