在dev中还原和添加迁移后更新prod数据库

时间:2020-02-06 23:36:39

标签: entity-framework-core

我正在运行带有ef核心和两个环境的asp.net核心应用:prod和dev。我创建了一些迁移并将它们应用于两个环境,但是需要将它们回滚到开发中。在回滚到dev后,我继续进行开发,现在在dev中进行了许多不在产品中的迁移,以及尚未回滚的prod中已还原的迁移。所以现在我的环境迁移看起来像这样:

Prod => a,b,c,d

Dev => a,b,e,f,g

(要注意的一件事:我要在产品(c,d)中还原的迁移 没有被使用,它们只是我为之创建的模型 将来的使用-我最终改变了-因此这些数据丢失 迁移不是问题)

由于我现在不添加任何迁移,因此无法运行与最初在dev中运行的命令相同的命令,我只需要将prod数据库更新为我在本地进行的迁移即可。

如果我update-database b,那么update-database会还原产品中的更改,然后更新到我的本地迁移吗?还是这将还原我在Visual Studio中添加的迁移?我在这里有什么选择?

1 个答案:

答案 0 :(得分:1)

在生产环境中,将降级到最新的工作迁移:

Update-Database –Migration b

然后从迁移文件夹中删除两个迁移 c d

最后,您可以更新到生产环境中的最新迁移:

Update-Database