【发布时间】:2015-08-15 05:03:56
【问题描述】:
我什至不知道如何表达这个。我已将迁移应用于数据库:迁移一。迁移二。迁移三。我刚刚提取了一个“迁移 2.5”——如果我尝试恢复迁移二和“更新数据库”,则数据库成功更新并表示有待处理的更改。这些“待定更改”是 Migration 2.5,即使它已被应用 - EF 希望我再次添加它们。
现在,通常情况下,我会解决这样的问题 - 恢复到迁移一或二,删除迁移 2.5,应用更改,然后创建一个新的“迁移 4”,最后出现。这样就避免了问题。但是,我现在无法更改迁移的顺序。我该如何解决这个问题?
编辑:我认为重要的是要注意我的数据库确实可以正常工作。如果存在 db/code 不匹配,EF 会抛出一个错误说明 - 这不会发生。问题是,当我确实需要 Add-Migration 进行合法更改时,它会尝试复制“2.5”更改以及实际的合法更改。
【问题讨论】:
-
为什么要创建一个新的迁移,由于某种原因位于两个现有迁移之间?迁移 2.5 不应该是迁移四吗?
-
1.做我,进行甜蜜的顺序迁移。 2. 我的高级开发人员决定要合并他的旧分支。通过上述迁移将它们推入构建中。 3. 我从 github 拉取这些更改,包括所有迁移。 4. 他太酷了,无法解释如何让它发挥作用。
-
为什么优先顺序是你的还是他们的?在我看来,如果它们以某种方式相互依赖,那么顺序无关紧要,您真正需要做的是解决冲突。
-
这是瞎猜吗?因为我发现顺序总是很重要,当迁移无序时,这个问题总是会发生。
-
合并它们后,每个人都将拥有那个 DbMigration(随后的
Update-Database将使他们的环境保持最新)。有多少人在创造迁移?听起来你需要弄清楚谁在做什么。
标签: c# .net entity-framework