处理团队源代码管理中的实体框架代码首次迁移

时间:2018-05-11 09:57:47

标签: c# git entity-framework entity-framework-6

我目前在一个使用Entity Framework 6.1.3作为主要对象关系映射(ORM)框架的团队中工作。

大部分时间它都运行良好,但是当两个或更多不同的团队成员添加了迁移时问题就开始了,然后应该合并这些问题。

Microsoft的示例:

enter image description here

为了使model snapshot保持最新状态,我们通常会Add a blank 'merge' migration更新快照。来自PMC:

Add-Migration "Fix merge" –IgnoreChanges 

我们当然可以update the model snapshot in the last migration但是由于我们正在使用拉取请求并验证其他代码,因此通常会有两个待处理的迁移,但它们都没有添加到master分支中,因为它们没有审查。

鉴于空白迁移,我们在这里也遇到了问题。示例:已将两个迁移同步到主服务器,并且模型快照不同步。开发人员对数据库模型进行了一些更改,然后与master合并。开发人员需要添加空白合并才能使模型快照同步。使用–IgnoreChanges的问题在于,即使开发人员对其分支中的模型进行了一些更改,迁移也将为空。如果未使用–IgnoreChanges,那么新迁移的每次更改都会显示,并且可能会导致异常,因为代码将被添加两次。

https://msdn.microsoft.com/en-us/library/dn481501(v=vs.113).aspx

还有其他方法可以在代码中解决这个问题吗?现在,我们正在提醒Slack中的迁移,以便在拉取请求中优先考虑它们,但它远非最佳流程。鉴于我一直在阅读的内容,我认为这是不可能的,但我很乐意被证明是错的。鉴于我们今天使用的拉取请求流程,在上次迁移中更新模型快照并不总是适用于我们。

0 个答案:

没有答案