所以我有一个Dev
和一个Staging
环境(Azure DevOps)。
CD
管道生成Dev
环境DB
的迁移脚本。后者由Staging release
管道执行,以使Staging
DB
保持最新。
生成的脚本包含所有迁移(它不是--from
,--to
脚本)。
尽管生成迁移脚本的命令使用--idempotent
参数,但是为了避免执行已经带到Staging
DB
的迁移,某些查询仍然会导致错误(在检查语法时),例如当它们使用一些不再存在的表属性。
有没有办法完全绕过/不执行已经应用的迁移?
[我不想在生成迁移脚本时使用--from
,--to
,因为CD管道(使用Dev
环境)无法知道在Staging
中已应用或未应用的内容] 环境。这将需要编写一个复杂的专用Powershell脚本(而不是花时间)。
根据我的经验,并与我的同事确认,如果您不想在生成的迁移脚本中使用from
to
或使用,则没有这样的方法可以绕过应用的迁移通过powershell来实现。
在本地命令行中,如果有一些脚本可以实现此目的,那么它也可以在Azure Devops中使用。