【问题标题】:Azure Dev Ops Release Issue Using Entity Framework Migrations使用实体框架迁移的 Azure Devops 发布问题
【发布时间】:2021-09-22 21:48:27
【问题描述】:

我正在尝试使用 Entity Framework Core 迁移来维护 Azure 上的数据库。这是通过 Azure Dev Ops 完成的。

我有一个构建管道,它使用 .Net Core 项目来构建迁移脚本。这部分有效,它为 Azure 位置“D:\a\1\migrations\CarehomeBookingContext.sql”创建相关脚本

在构建方面,我使用的是 Dev Ops 组件 Generate Migration Scripts。为了简单起见,我将目标文件夹设置为“D:\a\1\migrations”。文件在此处设置,我在日志中确认文件已在正确位置创建。 Confirmation message

在发布方面,我保持简单并使用相同的位置,但收到错误“没有找到使用搜索模式 D:\a\1\migrations\CarehomeBookingContext.sql 部署的文件”

Azure Task

Script location on task

因此,迁移正在上述位置创建。但是由于某种原因,尽管版本引用了创建它们的相同位置,但它们不能被版本执行。

【问题讨论】:

    标签: azure azure-devops entity-framework-core entity-framework-migrations


    【解决方案1】:

    假设“Drop”是您的构建工件名称,您错过了路径中的一部分,这通常是带有下划线的构建管道名称。

    $(System.DefaultWorkingDirectory)/$(Release.PrimaryArtifactSourceAlias)/drop/migrations/CarehomeBookingContext.sql

    【讨论】:

    • 感谢您的回复。我进行了更改,但现在出现此错误:##[error]No files were found to deploy with search pattern D:\a\r1\a_Build Carehome Room Bookings - Test\drop\migrations\CarehomeBookingContext.sql
    • 我试过了,但没用。我修改了我的问题并简化了创建文件的位置。
    • Hi build 和 release 不能这样共享文件。它们是不同代理的不同过程。您需要发布构建工件,并在发布中下载它
    • 我现在已经开始工作了。感谢拉里X。因此,LarryX 指出构建需要发布然后下载。我的错误是指向错误的构建工件。一旦我按照提到的,我解决了这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-01
    • 2016-06-24
    • 1970-01-01
    • 2015-05-11
    相关资源
    最近更新 更多