在Azure DevOps中,我具有以下命令的构建任务:
dotnet ef migrations script --output path/migrations-script.sql --idempotent
在发布管道中,我运行生成的脚本。
我遇到的问题是上述命令从第一次迁移开始运行。我知道我可以为此命令指定一个from
参数,但是您必须指定迁移的名称。有什么方法可以在不指定脚本名称的情况下从上一次迁移生成脚本?
答案 0 :(得分:0)
有什么方法可以从上一次迁移中生成脚本 没有指定名称?
据我所知,除非我们只有一次迁移,否则我们在尝试从上一次迁移生成脚本时必须指定名称。
有关dotnet ef migrations script
,请参见the details:
参数:
From
:开始迁移。迁移可以通过名称或ID进行标识。数字0是一种特殊情况,表示在第一次迁移之前。默认为0。
To
:即将结束的迁移。默认为上一次迁移。
因此,如果我们有多个迁移,则必须在所需的开始迁移中指定From
。此行为是设计。选中this post,要从上一次迁移中生成脚本,我们应该使用以下格式:
dotnet ef migrations script -from (MigrationYouWant-1) -to MigrationYouWant
因此,恐怕在Devops管道或本地计算机中没有其他方法可以执行此操作,我们必须使用名称指定命令。希望我的回答可以帮助您澄清一些问题:)