多个开发人员同时检入迁移时的EF迁移

时间:2017-09-05 12:23:53

标签: c# entity-framework ef-migrations

当两个开发人员正在同时处理一个项目时,我有以下情况。

我创建了一个表,使用" add-migration,update-database"。 #2创建一个表,使用" add-migration,update-database"。

然后我们都检查了对GIT的更改,(我是第一个)。

然后当我执行更新数据库时,我得到"无法更新数据库以匹配当前模型,因为存在待定更改..."

然后我做了#34; Add-Migration"并创建迁移,尝试创建我在上面的第一步中创建的表。当我尝试做"更新 - 数据库"通过这次迁移,我当然得到了#34;在数据库中已经有一个名为...的对象"。

到目前为止我找到的解决方法是:

  1. 更新数据库-TargetMigration MyLastmigration
  2. 删除已迁移#2
  3. Add-Migration theSameNameAs#2Made
  4. 更新的数据库
  5. 我做错了吗? #2做错了吗?我的解决方法是否适用于#2?

1 个答案:

答案 0 :(得分:2)

有两种方法可以解决这个问题。

  1. 按如下方式添加空白合并迁移:

    $ npm install @types/chai @types/mocha --save-dev

    此命令将创建一个没有任何脚本的新迁移,但会 更新模型快照以匹配当前模型。

  2. 在上次迁移中更新模型快照 - 您拥有的方法 提到,这消除了创建额外空白迁移的需要 在备选方案1中提到。

  3. 上述方法都可行,并没有任何错误。请阅读此MSDN文章以获取详细说明