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

Mar*_*ten 9 deployment entity-framework 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═-Migrations-in-your -Build.aspx

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

我的最佳解决方案是:

  1. connectionstring在setParameters.xml文件中配置,以便在发布时替换
  2. 在发布代码库后发布,使用正确的连接字符串调用migrate.exe

我搜索的似乎是'实体框架MSDeploy提供者'(参见:http://blogs.msdn.com/b/adonet/archive/2012/01/12/ef-4-3-beta-1- release.aspx)但似乎他们不久前放弃了这个选项

Dou*_*ini 1

您有两个选择:

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

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