2014-04-14 73 views
0

我一直在用Code First遷移來玩Azure和MVC5/EF6,並設法找到一些我不知道如何解決的問題,如果它是生產。獲取代碼優先的實體框架Azure返回同步

這裏就是我所做的:

  1. 創建一個名爲MyModel有一個屬性模型:PropA
  2. 啓用遷移,並創建了一個名爲Initial
  3. 發佈到Azure的遷移 - 大 - 正常工作!
  4. 刪除了我的Initial遷移和添加了第二個屬性MyModel名爲PropB
  5. 創建一個新的遷移稱爲Initial2
  6. 發佈到Azure的 - 現在Azure是崩潰,因爲它無法找到現場PropB

我試過設置AutomaticMigrationsEnabled = true;但它沒有任何區別。

所以我的問題是:如果這是一個生產數據庫,並且發生了這種情況 - 您將如何恢復Azure數據庫並遷移更改後的模型?

回答

0

手動在「向上」和「向下」的方法添加代碼遷移到同步您的代碼需要

+0

我想我可以做到這一點 - 如果有一個表的負載雖然失蹤?除了SQL比較有沒有自動化的方法? – Alex

+0

SQL比較似乎是最簡單的選擇。 – Alex

0

在你使用SQL比較,請確保您正在運行至少一個「標準」 Azure中的數據庫層。如果沒有,只會嘗試做比較而得到錯誤。請注意,您可以更改層,執行一些命令,並在幾分鐘內更換層。

另外,在步驟列表中,在步驟5之後,執行update-database。這將使您的本地數據庫同步。接下來,當您發佈到Azure時,請確保選擇該數據庫(連接字符串旁邊的下拉列表),然後確保已選中execute code-first migrations

乾杯