Skip to content

ef code first 在不同分支之间的管理

L edited this page Oct 4, 2018 · 6 revisions

场景

从master分支(严格点说,develop分支)迁出两个分支,brandA和brandB,分别由不同的开发者进行不同的业务开发
在两个功能完成后,将两个分支合并到master分支,而两个分支都在自己的分支进行了迁库操作
注意:

分支都有自己独立的数据库,开发过程中互不影响
即brandA开发使用A数据库,brandB使用B数据库

那么master分支应该怎么处理呢...

解决方案

分为.net framework和.net core两部分进行说明

.net framework

舍弃两个分支的所有迁移文件,在master分支重新生成新的迁移文件,保证数据库的正确性

.net core

与.net framework的ef不同,有一个XXXSnapshot.cs文件,以此来记录迁移记录并生成迁移文件
在分支迁库的时候,会修改Snapshot文件,所以合并到master分支的时候,保留原Snapshot文件,重新迁库
在Git中,可以使用tag来记录原Snapshot文件

其他

这样的流程没有遵循Git workflow,如果遵从workflow
则过程大致如下:

从master迁出brandA和brandB
brandA完成开发后,master PR到brandA,在brandA中解决冲突,再从brandA PR到master
brandB同理
brandA和brandB PR到master没有顺序问题,brandB先也可以

参考资料

https://www.atlassian.com/git/tutorials/comparing-workflows

Clone this wiki locally