如何在启用了EF Core迁移的Azure中运行蓝绿色部署

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

我想运行蓝绿色部署;但是,EF迁移似乎阻止了这一点。如果将版本1部署到蓝色插槽,创建EF迁移并将版本2部署到绿色插槽,则将发生以下两种情况之一。

场景1:

我将运行迁移,并且版本1将停止工作。这违背了在绿色插槽中测试版本2的目的,而让我们的用户在蓝色插槽中运行版本1的目的。

方案2:

在从蓝色插槽切换到绿色插槽之前,我不会运行迁移。这意味着在允许用户访问版本2之前,我无法测试绿色插槽(版本2)。

处理此问题的标准/最佳做法是什么?

azure ef-migrations ef-core-2.2 blue-green-deployment
1个回答
0
投票

对于这样的工作流程,您需要分两步进行模式更改。

第一步是以与v1兼容的方式添加v2所需的所有内容。任何新列都将是可选的,或者,如果可能的话,请使用默认约束或触发器基于v1值填充它。

v1停用后,您可以通过删除未使用的列并设置为必填列来清理架构。

NuGet.org已经通过EF迁移成功地使用了此工作流程。

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