2013-08-25 20 views
0

我寫了一個架構更改腳本刪除從表A某列C表B. 這是我的邏輯/算法,模式更改腳本:驗證和測試案例

  1. 如果c列沒有已經存在於表B中,添加它。
  2. 如果列C存在於表B中,則將新添加的列值(其初始 爲空)更新爲來自表A的012xx條件A.columnZ(Primary_Key)= B.ColumnZ(Foreign_key) 。
  3. 從表A.

我已經寫了相同的腳本(一個簡單的,雖然)刪除C列。現在,由於數據庫更改非常關鍵,因爲它將在生產數據庫上運行,並且該列包含與用戶帳單信息相關的一些值,所以我希望在進行部署之前完全測試它們。

我想得到測試案例的建議來驗證腳本。因爲這是我們第一次製作這些腳本,所以在製作變更腳本時對潛在問題的任何其他建議都是也讚賞。

回答

1

我使用dbunit來測試數據庫腳本。這是一個非常好的工具,但也許過於以java爲中心。您可以使用谷歌搜索其他語言的類似工具。

我個人使用liquibase來管理我的數據庫模式的所有更改。通過將數據庫置於已知狀態,可以降低數據庫遷移的大部分複雜性。我不必測試列可能存在或不存在的條件,因爲整個模式實際上處於修訂控制之下。對數據有破壞性的數據庫重構操作總是很難測試。使用像liquibase這樣的工具的真正優勢在於,設置類似生產的測試系統變得微不足道。