我正在运行带有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中添加的迁移?我在这里有什么选择?
答案 0 :(得分:1)
在生产环境中,将降级到最新的工作迁移:
Update-Database –Migration b
然后从迁移文件夹中删除两个迁移 c 和 d 。
最后,您可以更新到生产环境中的最新迁移:
Update-Database