我们有一个实验功能,迁移历史记录(安装在客户身上)基本上是这样的:
Migrations (experimental branch)
A
B experimental feature
我们的主人进化了:
Migrations (master)
A
C
...
在对母版进行了几处更改之后,客户决定保留功能B。我将实验分支重新基于母版。我正在处理客户数据库的副本,但是EF仍然显示了本地待处理的更改。 Add-Migration
完全创建了迁移B的代码。
Migrations
A
B experimental feature
C
...
B' added again
我知道这是EF的合并冲突,但是我不确定如何解决此问题,因为它已经安装在客户手中。为什么EF告诉我在重新设置基准后有本地待处理的更改?我认为空合并迁移将为我和所有拥有迁移B的客户解决该问题,但是,还有其他开发人员和客户仍需要历史迁移B(或B')。我如何实现这一目标,或者将由EF迁移自动解决?我有点迷茫。
幸运的是,B包含独立的数据库代码。迁移的顺序并不重要。