我創建了一個大的遷移,創建我的初始模式並運行數據庫更新。EF遷移中的錯誤更好地回滾,刪除,重新添加或只是簡單地添加新的
之後我發現應該是DateTime類型的字段意外地是字符串類型。我將它固定在我的模型中。
現在,我應該將數據庫更新爲發生錯誤之前的遷移,請刪除錯誤的遷移,然後重新添加遷移。或者只是簡單地添加一個只修補修補程序的新遷移。
我傾向於回滾,刪除,然後重新添加的原因是因爲我不想要任何搞砸了不正確的信息我會遷移?我覺得遷移不正確是毫無意義的。
我相信混淆對我來說是因爲我從來沒有在生產環境中使用遷移,所以我不認爲我知道他們的力量。因此,我希望有人澄清舊的遷移是否會出現錯誤,或者是否應該全部沒有錯誤,並在添加新模型/實體時顯示數據庫的整個進度。
就我個人而言,我使用migrations來實現一個目的:更新遠程UAT和PROD數據庫。當我第一次開始開發綠地應用程序時,我將使用DropCreate初始化程序之一,甚至不用擔心遷移。當我準備部署時,我切換到遷移。我總是按照克里斯所描述的[這裏]滾動我的遷移(http://cpratt.co/migrating-production-database-with-entity-framework-code-first/#at_pco=smlwn-1.0&at_si=54ad5c7b61c48943&at_ab=每12&at_pos = 0&at_tot = 1)。 –
@SteveGreene你使用實體框架DropCreate功能嗎?如果是這樣,你知道如何實施它在EF核心1.0(EF7) –
對不起,錯過了核心標籤。它不同,但可行:使用Database.EnsureDeleted,然後使用Database.EnsureCreated。 https://github.com/aspnet/EntityFramework/issues/3042 –