【问题标题】:How do I run ASP.NET Core Entity Framework migrations from Visual Studio Team Services如何从 Visual Studio Team Services 运行 ASP.NET Core Entity Framework 迁移
【发布时间】:2017-06-25 11:54:29
【问题描述】:

我有一个使用 ASP.NET Core 1.1 创建的 Web API 项目。我使用实体框架核心迁移。在本地,一切正常。

但是,我正在尝试使用 Visual Studio 团队服务在发布版本时自动运行迁移,但不知道如何执行此操作。是否有一些内置组件,或者我应该尝试在代理上安装 dotnet ef 工具并以这种方式运行它?

【问题讨论】:

  • 尝试通过配置了迁移的 VS 创建发布配置文件,然后使用 Visual Studio 构建任务和 /p:DeployOnBuild=true /p:PublishProfile=CustomProfile;DesktopBuildPackageLocation=" 将 Web 应用程序发布到包$(build.artifactstagingdirectory)\WebAppCore.zip" 参数,然后将此包部署到 azure 应用程序。
  • 正如@starain-MSFT 所说。请记住手动编辑您的 csproj 文件并适当地添加 DotNetCli 引用。目前,您无法为这些添加 Nuget 包。这些允许您使用 dotnet ef 命令并允许您正确设置发布向导

标签: c# asp.net-core azure-devops visual-studio-2017 entity-framework-core


【解决方案1】:

我建议使用 dotnet ef 工具(在 VSTS 构建期间)生成一个 .sql 脚本,该脚本可用于在需要时(在发布期间)生成或更新您的数据库。

dotnet ef migrations script -o migration-script.sql -i -v

在发布期间,您可以运行 Invoke-SqlCmd:

Invoke-SqlCmd -inputfile "$inputFile" -serverinstance "$serverInstance" -username "$serverUserName" -password "$serverPassword" -database "$database"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-23
    • 2017-05-16
    • 2018-08-02
    • 1970-01-01
    • 2017-05-30
    • 2017-04-26
    • 2013-12-01
    • 2020-03-09
    相关资源
    最近更新 更多