我有一个 Entity Framework 5 DB-First 项目,我们刚刚从 TFS 迁移到 Git。在 TFS 中,我们使用 RedGate 的 SQL 源代码控制使数据库保持最新状态,这是一种不错的做事方式,假设每个人都在开发主干,因为分支非常困难,所以几乎每个人都在使用最新版本的数据库架构。
但是,现在我们在 Git 上,我希望 db 更改成为功能分支的一部分。由于 Git 允许如此轻松地从一个分支跳转到另一个分支,我希望开发人员可以从包括 db 更改在内的功能跳转到没有这些更改的功能。代码更新得很好——但是数据库呢?我怀疑 RedGate 的产品是否会在如此快速的时间内处理上下迁移 - 还是我错了?如果 RedGate 无法处理这些上下迁移,那么在我的代码中正确的做法是什么?
顺便说一句,我确实搜索了其他类似的问题,并找到了这个,尽管答案是将迁移脚本包含在功能分支中。对于“向上”迁移来说这一切都很好,但是如果我在一个分支中编写一个特性,那么我会切换到另一个分支来对其他人的拉取请求进行代码审查,然后我对我的我分支中的本地数据库应该以某种方式恢复。但是怎么做?
更新: RedGate 通过向我推荐这篇文章来回应支持电话。基本上,如果你想切换分支,你必须从源代码管理中取消链接/重新链接你的数据库。而且您不能创建或合并分支。简而言之,呃。有更好的建议吗?