entity-framework - 在 DVCS 项目中使用 Entity Framework 代码优先迁移

标签 entity-framework dvcs entity-framework-migrations

当涉及到数据库模式时,我总是发现版本控制有点问题。

所以 - 我目前正在评估 Entity Framework 代码优先迁移,到目前为止我印象非常深刻。

我的问题是,有没有人有在使用 DVCS 的团队中使用 Migrations 的经验?

如果在不同分支上工作的开发人员各自创建自己的迁移,那么“更新数据库”工具在合并分支时是否能很好地应对?

我想可能发生的情况是列表中间会出现一个新的迁移。这会被接受,还是只是寻找比上次部署的“更新”的迁移?

我很欣赏团队必须小心不要创建冲突的架构更改 - 这是我们可以管理的事情 - 但知道“更新数据库”是否足够聪明以发现“丢失”迁移会很有用?

谢谢,
- 克里斯

最佳答案

据一位blog post我可以在该主题上找到,无论使用 VCS 工具如何,并行开发似乎都与 EF 中数据库迁移的当前状态有关。由于它跟踪数据库状态的方式,似乎没有办法处理这种情况。 Pawel 提供了一个 example project on GitHub来显示问题。

实际上,使用独立工具来处理数据库迁移可能会好得多。我用过 Migrator.NET取得了巨大的成功,并且它确实正确处理了并行开发人员的架构更改。它还使用一种相对技术含量较低的方法来跟踪数据库“版本”,只要您和您的团队决定,除了通过迁移类(我们称那天为v1 数据库)。

关于entity-framework - 在 DVCS 项目中使用 Entity Framework 代码优先迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10298298/

相关文章:

entity-framework - 域实体跟踪数据的最佳实践?基类还是组合?

git - 如何将带有分支的 Git 存储库转换为可用的 Mercurial 存储库?

ef-code-first - 我可以使用 Code First Migrations 而不使用多元表名吗?

c# - CUD : What is the purpose of the two SELECT statements in a scaffolded Insert stored procedure? 的存储过程

c# - 使用扩展方法 (EF5) 恢复 DbContext.Detach() 方法

entity-framework - 如何删除与 "User"关联的所有记录?

Git push 不会做任何事情(一切都是最新的)

asp.net-mvc - ALTER TABLE DROP COLUMN 失败,因为表 'xxx' 中不存在列 'yyy'

c# - 使用 Entity Framework 从多个表中删除所有记录

git - 如何在公司中设置分布式版本控制