2017-08-02 100 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更新脚本时,它会更新生产,我很高兴。

相关问题