【问题标题】:What is the best way to run EF migration on production server?在生产服务器上运行 EF 迁移的最佳方法是什么?
【发布时间】:2016-08-09 09:09:35
【问题描述】:

我有什么:

  • VS2015
  • ASP.NET 5 MVC 6 项目
  • EF 7
  • 我的项目的一些迁移
  • Azure 网站
  • 我通过 VS“Publish..”向导发布。

我需要什么:

  • 我需要知道在生产数据库上运行迁移的最佳方式是什么。
  • 我更喜欢可以自动化的东西。最好的解决方案是集成在“发布”向导中。

注意事项:

  • 我正在使用“dnx ef 数据库更新”在我的开发站上运行我的迁移。我想我可以使用 webapp PS 控制台,但是……这似乎不是正确的方法。

  • 我知道我可以为迁移生成一个 SQL 脚本,但这似乎太手动了。

  • 我记得过去“发布”向导有“执行 EF 迁移”选项。现在看不到了。

【问题讨论】:

标签: asp.net entity-framework asp.net-core-mvc entity-framework-migrations


【解决方案1】:

这取决于谁可以控制生产数据库(开发团队或单独的 DBA 团队)。

在我参与的一个客户项目中,每个开发人员都有自己的数据库副本,他们在其中测试了所有迁移。签入应用程序代码和迁移代码后,我们使用 TeamCity 作为 CI 服务器来部署网站、更新暂存数据库并运行单元测试和集成测试。

我们向 DBA 团队提供了 SQL 脚本(由 EF 生成)以针对生产数据库运行。我们的开发团队从未接触过生产数据库。

如果允许您更新生产数据库,您可以自己进行。但我强烈建议您检查并运行 EF 生成的脚本,必要时可以回滚。另外,不要忘记根据需要备份生产数据库。

由于您想要自动化(并且如果您对此感到满意),您可以使用 CI 系统来更新您的生产数据库,就像我和我的团队更新我们的暂存数据库一样。

希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-07
    • 1970-01-01
    • 2017-03-24
    • 2010-09-20
    • 2013-08-06
    • 1970-01-01
    • 2018-03-23
    相关资源
    最近更新 更多