簡體   English   中英

EF 5-模型首次數據庫遷移:發布到遠程生產服務器后要更改模型?

[英]EF 5 - Model first database migration: change model after published to remote production server?

我首先使用MVC 5,EF 5.0代碼進行開發。 我使用文件共享文件夾發布該項目。

更改模型后,我可以使用數據庫遷移來更新正在開發的localDb。 但是,在將項目發布到遠程服務器后,它顯示了在使用完整SQL數據庫服務器的生產Web服務器上更改模型和需要遷移的錯誤。

我知道我可以刪除生產服務器上的數據庫,並讓它重新創建數據庫。 但是,表中已經有用戶輸入的數據。

有沒有一種方法可以應用模型/數據庫更改而無需重新創建數據庫?

是的,有辦法。 其實有幾個。

  • 您可以生成可應用於生產數據庫的SQL腳本。 使用-Script標志在程序包管理器控制台中運行Update-Database,如下所示:

    更新數據庫-腳本-SourceMigration:InitialMigration -TargetMigration:LatestMigration

    或使用Red Gate SQL Compare之類的工具來生成腳本。

  • 在應用程序啟動時,您可以通過注冊MigrateDatabaseToLatestVersion數據庫初始化程序來自動升級數據庫:

    Database.SetInitializer(new MigrateDatabaseToLatestVersion());

您可以在文章MSDN-Code First Migrations中閱讀有關這兩種方法的更多信息。

我從來沒有選擇刪除生產數據庫。 EF代碼首先不是為了這個目的,而只是為了開發,

有兩個選項,如果您使用Visual Studio Ultimate,則SQL菜單下有一個架構比較工具。 或者,您可以使用Red Gate SQL比較工具。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM