如何在签入后自动更新Code First方法中的DATABASE并在Continuous deployment中发布代码

时间:2017-09-18 13:14:30

标签: tfs ef-code-first continuous-integration ef-migrations continuous-deployment

在我们的Web API应用程序中,持续部署需要以下方案。

用户将在VS中检入代码,代码将自动生成,代码将被发布,代码将被部署。

但是如果我们使用Entity Framework Code First方法,我们如何在没有手动命令(添加 - 迁移/更新数据库)的情况下更新数据库,并使数据库与该签入更新。

1 个答案:

答案 0 :(得分:2)

您可以尝试在构建/部署过程中运行“添加迁移/更新数据库”命令。

假设您正在使用vNext build,

  1. 首先在构建定义中添加“Nuget Installer”任务 在构建期间还原实体框架。 Migrate.exe将是。{ 安装在\packages\EntityFramework.\tools文件夹中。
  2. 然后添加“Command Line”任务以运行migrate.exe。输入 “\packages\EntityFramework.\tools\migrate.exe"区域内的"Tool""Arguments"字段中的参数。
  3. 引用此主题:How can I run Entity Framework's migrate.exe from Visual Studio Online?

    您还可以尝试扩展“Entity Framework Migrations”,其中包含一组允许您首先使用Entity Framework代码进行迁移的任务:

      

    方法1:生成SQL脚本

         

    第一种方法允许您生成包含所有内容的SQL脚本   迁移。可以通过手动运行获取此脚本   NuGet包中的Update-Database -SourceMigration 0 -Script   Visual Studio中的管理器控制台。 然后您可以手动运行   此脚本在发布后或在发布期间自动发布   使用允许您运行SQL脚本的扩展名。

         

    任务名称:生成迁移SQL脚本

    其他文章可能有所帮助: