如何通过MsDeploy在发布时迁移实体框架数据库



对于我当前的项目,我更喜欢在发布时将数据库更新到正确的版本,而不是首先通过App_Start运行。

似乎支持通过命令行工具"migrate.exe"手动升级,该工具与实体框架(5.0 rc2)一起提供。但我找不到任何关于其他人如何将此工具与msdeploy结合在一起以在发布而不是首次运行时升级数据库的信息。

我发现以下页面解释了如何使用migrate.exe工具:http://blog.overridethis.com/blog/post/2012/03/13/Automating-EF-43x-Data-Migrations-in-your-Build.aspx

但这迫使我以某种方式"知道"连接字符串信息。

我的最佳解决方案是:

  1. 在的setParameters.xml文件中配置了connectionstring发布时替换
  2. 论代码库的一次又一次发布使用正确的连接字符串调用migrate.exe

我搜索的似乎是"实体框架MSDeploy提供商"(请参阅:http://blogs.msdn.com/b/adonet/archive/2012/01/12/ef-4-3-beta-1-released.aspx)但他们似乎在一段时间前就放弃了这个选项

您有两个选项:

  1. "发布配置文件"中的"配置Visual Studio数据库"选项;或
  2. 在"打包/发布SQL"选项卡上配置项目属性

我还没有使用任何一个,但我正在研究,因为我会有完全相同的场景。

最新更新