使用Azure DevOps进行EfCore迁移

时间:2019-08-27 14:09:19

标签: azure-devops continuous-integration entity-framework-core ef-migrations

我想在.Net Core应用程序的Azure Devops中添加生成和发布管道。应用程序使用EF Core迁移。

我使用了此处提供的解决方案,例如:https://blog.clear-measure.com/2019/01/07/run-ef-core-migrations-in-azure-devops/

工作正常。我在构建期间生成脚本,将其发布为另一个工件,然后在发布步骤中使用它来针对数据库运行。

但是如何处理我想还原的情况。在这里,我看到两个场景:

  1. 如果我能以某种方式单击上一个发行版上的Deploy,并以这种方式返回到该应用程序的前一个工作版本(以及恢复数据库),那将是很棒的。

  2. 还原存储库中的更改,删除可能在版本之间创建的迁移,然后再次开始构建和部署过程。如何将已经添加的迁移还原到数据库?

第一种方法是否可行?

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

您将通过EF Core还原迁移,类似于添加迁移的方式。然后提交并推送并运行管道。

enter image description here

https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/#revert-a-migration

答案 1 :(得分:0)

第一种情况是可能的。

在发布管道中,您可以找到保留的历史发布。 enter image description here

选择要还原到的先前版本,单击重新部署,它将回滚到先前版本。enter image description here