4

我正在做EF5的一些研究,並且遇到了這個問題question.
答案中提出的權利要求對我有意義。實體框架5代碼優先遷移準備生產?

但是現在,在EF5中我們有遷移。 因此,讓我們說我已經用Code First構建了一個應用程序,現在它已經啓動並運行了一段時間,敏感的用戶數據已經在數據庫中累積了。考慮模型需要改變的情況。

僅更新POCOS並讓Migrations負責更新數據庫是否完全安全,還是需要做任何準備工作才能防止數據丟失?

(會喜歡在這裏的人誰在現場的應用程序必須的Code First和遷移的工作設置)

+0

如果您擁有有價值的數據,您總是希望對其進行備份 - 不僅在任何升級到數據庫之前,而且可能每天都會在數據庫出現故障時不會丟失數據。 – Pawel

回答

0

這是從來沒有完全安全做任何類型的數據庫的變化,因爲你可能會在遷移做出錯誤代碼,或者可能存在導致問題的磁盤錯誤......真的存在很多潛在問題,所以您必須在執行遷移之前進行備份或任何其他類型的數據庫更改。

3

首先,在生產時確保您的DbMigrationsConfiguration設置爲AutomaticMigrationsEnabled = false。然後在更改模型後,執行命令Add-Migration。這將生成用於更改數據庫的命令,並且可以在執行之前查看是否有任何內容被丟棄。這樣你可以完全控制數據庫上發生的事情。

相關問題