首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DVCS项目中使用实体框架代码优先迁移

在DVCS项目中使用实体框架代码优先迁移
EN

Stack Overflow用户
提问于 2012-04-24 20:56:28
回答 3查看 379关注 0票数 13

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

因此,我目前正在评估实体框架代码优先迁移,到目前为止,我真的印象深刻。

我的问题是,是否有人有在使用DVCS的团队中使用迁移的经验?

如果在不同分支上工作的开发人员都创建了自己的迁移,那么当分支合并时,“Update-Database”工具能很好地处理这一问题吗?

我猜可能会发生的情况是,新的迁移将出现在列表的中间。这是否会被接受,或者只是寻找比上一次部署的迁移更新的迁移?

我很感谢团队将不得不小心避免创建冲突的模式更改-这是我们可以管理的事情-但知道“更新数据库”是否足够聪明,以发现“丢失的”迁移将是有用的?

谢谢,-克里斯

EN

回答 3

Stack Overflow用户

发布于 2012-09-26 09:13:34

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

实际上,使用独立的工具来处理数据库迁移可能要好得多。我使用Migrator.NET取得了很大的成功,它确实能够正确地处理并行开发人员的模式更改。它还使用了一种技术相对较低的跟踪数据库“版本”的方法,令人惊讶的是,只要您和您的团队决定除了通过迁移类之外,任何人都不会接触数据库,这种方法就非常有效(我们称之为数据库的v1 )。

票数 1
EN

Stack Overflow用户

发布于 2014-08-08 23:24:56

本文中的解决方案可能对您有效。您采取了一个额外的步骤,即创建一个空白迁移,忽略来自其他开发人员的更改。这会将快照更新为与数据库同步。

http://msdn.microsoft.com/en-us/data/dn481501.aspx

票数 1
EN

Stack Overflow用户

发布于 2012-09-26 09:18:10

我认为它不起作用,我也不认为有办法绕过它。

有关更多详细信息,请参阅this blog post

我的建议是使用不同的工具来管理您的迁移。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10298298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档