2016-04-15 102 views
0

在團隊環境中,我們有一個成員擁有一個數據庫,該模型中已經有一些模型中的表,但沒有遷移歷史記錄表。使用EF自動遷移,我們如何升級數據庫,以便創建歷史記錄表,添加缺失的表以及更改/升級現有的表?我們需要升級該成員的數據庫,因爲現有的表具有數據。當歷史表不存在時自動遷移

回答

1

我認爲EF不支持你的方案,但繼續尋找。

如果我需要做到這一點,我想:

  1. 創建一個空的項目
  2. 反向工程目前DB一組對EF實體
  3. 有一個項目創建一個新的數據庫,其中將包括歷史表
  4. 複製歷史表到主數據庫
  5. 運行的主要應用程序升級數據庫

當然,我會首先進行備份,並將EF項目及其DbContext命名爲與主項目相同,以防EF以某種方式將它們包括在歷史記錄表中。

也有另一種方式來做到這一點:

  1. 有無EF創建一個空的DB
  2. 複製表中的所有從舊的數據庫用戶的數據,使用SSMS導入/導出嚮導

我建議哪一個:第二個,我要做哪一個:第一個,因爲它是更冒險的!