如何将迁移应用于生产服务器

时间:2017-08-02 15:26:13

标签: sql asp.net-mvc entity-framework

使用Code First和Entity Framework,我在我的开发机器上创建了我的Web应用程序,使用了迁移并将我的beta应用程序发布到我的生产服务器和数据库。

然后在我的开发系统上,我做了很多更改,创建了几个迁移并将它们应用到我的本地开发数据库。当我使用update-database时,这会更新我的本地开发人员数据库,但是如何将迁移应用到我的生产服务器数据库呢?

我一直在使用update-database -script来手动将SQL应用到我的生产服务器。有没有更好的办法?

2 个答案:

答案 0 :(得分:1)

您在Web.config中确定了应用程序指向的数据库。当您将其指向生产并运行相同的EF命令(dotnet ef迁移添加migrationName和dotnet ef数据库更新)时,它应该更新您的生产环境。

对于我的设置,我只是不部署我的web.config所以在生产中它始终指向生产数据库。当我在生产中运行EF更新脚本时,它会更新生产,我很高兴。

答案 1 :(得分:1)

理想情况下,您应该使用某种实际的数据库部署系统,如ReadyRoll。除此之外,您应该生成可以手动提交和部署的SQL脚本,最好是通过组织中的DBA角色。基于代码的迁移可以在不通知的情况下对数据库执行各种潜在的不良操作,但在SQL脚本中,您可以轻松地看到即将删除的表或者即将删除包含大量不可替代数据的列