0

我有一個已經發布到生產服務器的Web項目。在我的開發機器上,我對模型類進行了一些更改,並運行Update-Database而不運行Add-Migration。我試圖EF代碼優先 - 忘了運行「添加遷移」

Update-Database -TargetMigration:"201304020555457_previous_migration" 

,但我得到了

自動遷移的錯誤沒有被應用,因爲它會導致數據丟失。

如何回滾,以便我可以獲得完整的SQL腳本以便在生產服務器上應用?

更新:

我剛剛發佈的代碼,在瀏覽器中啓動頁面,它的執行之後對數據庫的修改(添加列)的完成。我不需要做任何事情。這是否意味着每次都不需要運行Add-Migration

回答

0

您可以撤消所做的更改,然後運行Update-Database。 然後再進行更改,這一次運行Add-遷移

0

如果你的初始化是MigrateDatabaseToLatestVersion和你的配置已經AutomaticMigrationsEnabled設置爲true,那麼它會更新你的數據庫,而不需要遷移,如果可以。

如果您真的想要只能添加您想要修改的變更的遷移,您可以跳過添加簡單列並添加遷移以重命名列。

但是,如果我在哪裏,我會保持遷移完成,以避免問題進一步下降。