运行 在生产服务器上迁移 EF 的最佳方法是什么?
What is the best way to run EF migration on production server?
我有:
- VS2015
- ASP.NET 5 MVC 6 项目
- EF 7
- 我的项目的一些迁移
- Azure 网站
- 我通过 VS "Publish.." wizzard 发布。
我需要的:
- 我需要知道在 production 数据库上 运行 迁移的最佳方法是什么。
- 我更喜欢可以自动化的东西。最好的解决方案是将某些东西集成到 "Publish" 向导中。
备注:
我正在 运行 使用 "dnx ef database update" 在我的开发站上进行迁移。我想我可以使用 webapp PS 控制台,但是...似乎不是正确的方法。
我知道我可以为迁移生成一个 SQL 脚本,但这似乎太手动了。
我记得以前"Publish"向导有选项"Execute EF migrations"。现在看不到了。
这取决于谁控制了生产数据库(开发团队或单独的 DBA 团队)。
在我参与的一个客户项目中,每个开发人员都有自己的数据库副本,他们在其中测试所有迁移。签入应用程序代码和迁移代码后,我们使用 TeamCity 作为 CI 服务器来部署网站、更新暂存数据库以及 运行 单元测试和集成测试。
我们向 DBA 团队提供了 SQL 脚本(由 EF 生成),以便 运行 针对生产数据库。我们的开发团队从未接触过生产数据库。
如果允许您更新生产数据库,您可以自己完成。但我强烈建议检查然后 运行 宁 EF 生成的脚本,您可以在必要时回滚。另外,不要忘记根据需要备份生产数据库。
既然你想要自动化(如果你愿意),你可以使用你的 CI 系统来更新你的生产数据库,就像我和我的团队更新我们的登台数据库一样。
希望对您有所帮助!
我有:
- VS2015
- ASP.NET 5 MVC 6 项目
- EF 7
- 我的项目的一些迁移
- Azure 网站
- 我通过 VS "Publish.." wizzard 发布。
我需要的:
- 我需要知道在 production 数据库上 运行 迁移的最佳方法是什么。
- 我更喜欢可以自动化的东西。最好的解决方案是将某些东西集成到 "Publish" 向导中。
备注:
我正在 运行 使用 "dnx ef database update" 在我的开发站上进行迁移。我想我可以使用 webapp PS 控制台,但是...似乎不是正确的方法。
我知道我可以为迁移生成一个 SQL 脚本,但这似乎太手动了。
我记得以前"Publish"向导有选项"Execute EF migrations"。现在看不到了。
这取决于谁控制了生产数据库(开发团队或单独的 DBA 团队)。
在我参与的一个客户项目中,每个开发人员都有自己的数据库副本,他们在其中测试所有迁移。签入应用程序代码和迁移代码后,我们使用 TeamCity 作为 CI 服务器来部署网站、更新暂存数据库以及 运行 单元测试和集成测试。
我们向 DBA 团队提供了 SQL 脚本(由 EF 生成),以便 运行 针对生产数据库。我们的开发团队从未接触过生产数据库。
如果允许您更新生产数据库,您可以自己完成。但我强烈建议检查然后 运行 宁 EF 生成的脚本,您可以在必要时回滚。另外,不要忘记根据需要备份生产数据库。
既然你想要自动化(如果你愿意),你可以使用你的 CI 系统来更新你的生产数据库,就像我和我的团队更新我们的登台数据库一样。
希望对您有所帮助!