2017-08-02 108 views
0

使用Code First和Entity Framework,我在我的開發機器上創建了我的Web應用程序,使用遷移並將其發佈到我的測試版應用程序中,以發佈到我的生產服務器和數據庫。如何將遷移應用到生產服務器

然後在我的開發系統上,我做了很多更改,創建了幾個遷移並將它們應用到我的本地開發數據庫。當我使用update-database時,會更新我的本地開發數據庫,​​但是如何將遷移應用到我的生產服務器數據庫?

我一直在使用update-database -script來讓SQL手動應用到我的生產服務器上。有沒有更好的辦法?

+0

https://stackoverflow.com/q/10848746可能的重複 – Kahbazi

回答

1

您應該最好使用某種實際的數據庫部署系統,如ReadyRoll。除此之外,您應該生成SQL腳本,您可以手動提交和部署,最好通過組織中的DBA角色進行部署。基於代碼的遷移可以毫不費力地爲數據庫做各種可能不好的事情,但在SQL腳本中,您可以很容易地看到表即將被刪除,或者包含大量不可替代數據的列即將被刪除。

1

你在Web.config中建立了應用程序指向哪個數據庫。當您將其指向生產並運行相同的EF命令(dotnet ef migrations add migrationName和dotnet ef database update)時,它應該更新您的生產環境。

對於我的設置,我只是不部署我的web.config,因此在生產中它始終指向生產數據庫。當我在生產環境中運行EF更新腳本時,它會更新生產,我很高興。

相關問題