我目前正在與另一位開發人員在集中式開發服務器上進行Web開發。過去這一切都行得通,因爲我們有兩個獨立的項目,我們正在努力並且很少發生衝突。但是,現在我們正在添加第三個(可能的)開發人員。這顯然會影響其他開發人員對我的工作產生影響的問題,反之亦然。爲了解決這個問題,我認爲最好的解決方案是創建一個虛擬機在開發者之間分發以供本地使用。我遇到的問題是涉及到數據庫。如何創建安全的本地開發環境?
鑑於我們都在筆記本電腦上開發,只需保留實時數據的本地副本就顯得很愚蠢。
我已經考慮清理數據,但我無法真正弄清楚如何替換真實的數據,用數據代表人們實際輸入的內容,而不是一遍又一遍地重複相同的信息。每個人的地址變成123測試巷,測試鎮,西澳大利亞州,99999什麼的。這真的值得關注嗎?有沒有工具可以幫助解決這類問題?我正在使用MySQL。理想情況下,如果我清理數據庫,它應該從我可以定期運行的腳本完成。如果我這樣做,我還需要一種方法來減小數據庫本身的大小。 (我想我可以選擇所有在x後創建的記錄,並將它們和相應的表中的所有記錄刪除,這樣並不是什麼大問題。)
我想過的第二種解決方案是加密vm的硬盤驅動器,但我不確定這在速度方面是多麼的實用,以及在丟失/被盜的筆記本電腦的情況下。如果我這樣做,虛擬硬盤驅動器文件本身應該加密還是應該在虛擬機中加密? (我假設後者是可移植的,並且不需要開發者在他們選擇的操作系統上具有任何類型的加密能力。)
第三個是爲每個開發人員創建數據庫的副本在我們的開發服務器上,他們隨後負責通過遷移腳本或您有什麼方式使架構與規範數據庫保持同步。這個解決方案似乎是最簡單的,但並不是隨着更多開發人員的增加而擴展。
你如何處理這個問題?
我不是特別熟悉的工具,但+1「請不要在開發環境中使用真實的數據」!您可能無法預見這有多重要,但*投入時間尋找生成假數據的方法! – 2010-06-07 18:47:12
過去我經常聽到這種說法,也許我只是笨手笨腳,但我沒有看到使用真實數據的問題。僅僅是因爲它被盜的可能性?如果你曾經爲一家軟件公司工作,我可以看到使用真實數據是一個問題。您不想從您的某個客戶導入數據庫。如果您想讓開發人員與實時服務器分離,出於某種原因,我也會遇到問題。還有別的事嗎?我在這裏錯過了什麼? – baudtack 2010-06-07 20:26:09
@docgnome - 貴公司是否有隱私政策?如果是這樣,那麼對於客戶數據的使用和保護方式有何評論?如果數據是公司內部的,那麼您的人力資源政策對這些數據有何看法?如果您使用的是實際數據,則至少必須具有與生產實例中的數據相同的保護級別。坦率地說,我發現這對開發箱來說太具侵入性了。丟失數據的風險(如果數據非常敏感,可能是您的工作 - 是的,電話號碼很敏感)不值得爲開發生成假數據。 – tvanfosson 2010-06-07 21:01:32