【问题标题】:How to migrate Entity Framework DB on publish via MsDeploy如何在通过 MsDeploy 发布时迁移 Entity Framework DB
【发布时间】:2012-08-21 19:21:20
【问题描述】:

对于我当前的项目,我希望在发布时将我的数据库更新为正确的版本,而不是首先通过 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. 连接字符串在 setParameters.xml 文件中配置为 发布时替换
  2. 在发布代码库后发布 使用正确的连接字符串调用 migrate.exe

似乎我搜索的是“实体框架 MSDeploy 提供程序”(请参阅​​:http://blogs.msdn.com/b/adonet/archive/2012/01/12/ef-4-3-beta-1-released.aspx),但似乎他们前段时间放弃了该选项

【问题讨论】:

  • 您可以让您的迁移生成用于升级的 SQL 脚本,并在发布 Web 时使用该脚本。我认为目前不支持在 Web 部署期间运行迁移。

标签: entity-framework deployment msdeploy entity-framework-migrations


【解决方案1】:

你有两个选择:

  1. 在发布配置文件中配置 Visual Studio Databases option;或
  2. Package/Publish SQL 选项卡上配置您的项目属性。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-31
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 2017-04-26
    相关资源
    最近更新 更多