2011-06-03 111 views
0

這可能是一個簡單的問題。我有一個數據庫用於存儲我的用戶詳細信息。我的應用程序查詢這個數據庫以確定他們是否獲得訪問權限。更改生產數據庫

在測試過程中,如果我想更改數據庫的結構,比如添加一個新列,我會簡單地刪除表並重新創建它們。我不認爲我想在現場系統上做到這一點。我會如何安全地去做這樣的事情?

謝謝

回答

1

在源代碼控制一般來說,我已經追蹤數據庫更改爲這樣:

  • 有腳本的初始基準生成初始數據庫。這一步可以在開發和測試環境中按需執行,但在生產中它幾乎只是第一次執行。
  • 有一個delta腳本文件夾。從頭開始生成數據庫時,此文件夾中的腳本(以有意義的方式排序,如數字或日期時間戳)在初始基線腳本之後運行。對於這個例子,它將是一個腳本中的ALTER TABLE命令。

從零開始創建數據庫時,所有內容都按順序運行。在對活動數據庫應用更改時,只會運行尚未運行的增量。 (通過跟蹤哪個版本的源代碼管理位於哪個環境,跟蹤哪些已經運行過程。)

如果deltas文件夾開始變得難以管理,我想你可以重新設置創建腳本的基線時。這可能不是一個壞主意,只是作爲一個健康檢查,以確保事情沒有被引入到系統中而沒有得到正確的跟蹤。

0

改變表是你想要的命令。

0

我建議你寫一個簡單的PHP腳本來改變你的測試數據庫,而不是做手工,there are many examples available via google並使用相同的腳本在你的生產(生活)數據庫

不要忘了始終先創建一個備份,以防出現問題。

祝你好運!