如何通过MsDeploy在发布时迁移Entity Framework DB

时间:2012-08-21 19:21:20

标签: entity-framework deployment msdeploy ef-migrations

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

似乎通过与Entity Framework(5.0 rc2)一起提供的命令行工具“migrate.exe”支持手动升级。但我找不到任何有关其他人如何将此工具与msdeploy结合使用以在发布而非首次运行时升级数据库的信息。

我找到了以下页面,其中介绍了如何使用migrate.exe工具: http://blog.overridethis.com/blog/post/2012/03/13/Automating-EF-43x-Data-Migrations-in-your-Build.aspx

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

我的最佳解决方案是:

  1. connectionstring在setParameters.xml文件中配置 发布时更换
  2. 发布代码库后发布 使用正确的连接字符串调用migrate.exe
  3. 我搜索的内容似乎是“实体框架MSDeploy提供程序”(请参阅​​:http://blogs.msdn.com/b/adonet/archive/2012/01/12/ef-4-3-beta-1-released.aspx)但似乎他们不久前放弃了该选项

1 个答案:

答案 0 :(得分:1)

您有两种选择:

  1. 在发布配置文件中配置Visual Studio Databases option;或
  2. Package/Publish SQL标签
  3. 上配置项目属性

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