2012-04-20 164 views
0

有沒有辦法在運行手動遷移時忽略錯誤?EF 4.3數據庫遷移 - 有沒有辦法忽略錯誤?

我們有不同狀態的客戶端數據庫,我需要讓它們全部更新到最新版本。

我之所以問忽略的錯誤是因爲我只想我的代碼遷移這樣

public override void Up() 
    { 
     AddColumn("ClientUser", "LastSyncTime", c => c.Guid()); 
     AddColumn("ClientUser", "FileTransferToken", c => c.Guid()); 
     AddColumn("ClientUser", "DateFileTransferTokenIssued", c => c.DateTime()); 
    } 

但自然和果然它會拋出其中列已經存在異常。

回答

2

不是。我們不假設EF遷移的用例。遷移將數據庫從一個定義的狀態驅動到另一個定義的狀態。如果您的數據庫處於不同狀態,則需要多次遷移,每個遷移僅涵蓋部分遷移。

如果要開始在具有多個數據庫的現有項目中使用遷移,則應首先將所有數據庫移至相同狀態而無需遷移,然後開始將其用作初始狀態,之後將只通過遷移處理所有更改。否則,你會遇到很多問題。

0

這並不回答你的具體問題,但它可能是你的問題的答案。

使用VS 2010中的數據庫項目來創建目標數據庫的模式。

您可以使用此「黃金標準」模式比較處於不同狀態的其他數據庫,並生成增量腳本以將其從當前模式轉換爲目標模式。

在數據庫中處於已知狀態後,切換到正在向前移動的模式的數據庫遷移。

Keith

相關問題