2014-04-01 33 views
0

我們需要將表中的列從不可空或不可空的更改爲列。該表跨越了服務領域,並且正在按照我們的SOA需求進行分割。看起來很簡單,但對我們的客戶有潛在的巨大後果和影響。在實時數據庫中將列更改爲空值

如果在運行腳本進行這些更改後出現任何問題,我們可以回滾哪些方法?

如果我們要回滾並且出現空值,您會如何建議將事情恢復到正常狀態?

鑑於我們將處理大量的交易,哪些策略可能值得考慮?

回答

1

測試,再次測試,測試更多,並且只有當您絕對確定時才讓它達到產量。

在回滾方面

  • 在那裏,如果你有恢復到不爲空,可以合理使用任何違約?
  • 你能夠恢復表的備份和重放操作嗎?
+0

已經討論了默認的avenue。基本上,我們將把這個交給一個sql團隊,併發布開放版本,但是如果沒有緩解,他們會感到緊張。由於我們網站的24小時/全球運營,恢復備份不是一種選擇。 – brumScouse

+0

對於他們來說,這是一個正確的問題 - 在測試之外,您正在執行退出計劃。假設你仍然不能寫出空值 - 代碼是否仍然有它將用來代替的值?如果是這樣,您可以將該值存儲到另一列,並在退出時使用該值。 – Andrew

+0

所有的東西都等於我們寫的值「SHOULDNT」永遠包含空值「暫時」。持久層尚未更新。所以代碼沒有改變(db服務將在未來的某個時間點這樣做)我想我是在考慮這些情況下是否存在任何合理的回滾理由..... – brumScouse

相關問題