先前不兼容的ef核心迁移,如何在CI / CD系统中正确绕过它们?

问题描述 投票:0回答:1

所以我有一个Dev和一个Staging环境(Azure DevOps)。

CD管道生成Dev环境DB的迁移脚本。后者由Staging release管道执行,以使Staging DB保持最新。

生成的脚本包含所有迁移(它不是--from--to脚本)。

尽管生成迁移脚本的命令使用--idempotent参数,但是为了避免执行已经带到Staging DB的迁移,某些查询仍然会导致错误(在检查语法时),例如当它们使用一些不再存在的表属性。

有没有办法完全绕过/不执行已经应用的迁移?

[我不想在生成迁移脚本时使用--from--to,因为CD管道(使用Dev环境)无法知道在Staging中已应用或未应用的内容] 环境。这将需要编写一个复杂的专用Powershell脚本(而不是花时间)。

entity-framework azure-devops devops ef-core-2.0 azure-devops-extensions
1个回答
0
投票

根据我的经验,并与我的同事确认,如果您不想在生成的迁移脚本中使用from to或使用,则没有这样的方法可以绕过应用的迁移通过powershell来实现。

在本地命令行中,如果有一些脚本可以实现此目的,那么它也可以在Azure Devops中使用。

© www.soinside.com 2019 - 2024. All rights reserved.