我们有一个运行 Entity Framework 6.1 的项目,不久前我们开始使用显式迁移(过去我们会使用自动迁移),我们遇到了以下情况。
每个分支都经过代码审查并在批准后合并到主分支中。但是现在我们注意到我创建索引的显式迁移是在不同版本的模型上创建的。由于它是一个有多个开发人员的项目,因此模型总是在变化。因此,如果我们检查将生成哪些 SQL 代码来更新数据库,我们会看到在我在分支上工作时同时添加的新列/表/...正在被删除,然后创建了我的索引然后将再次添加这些列。
我们怎样才能避免这种情况?我们在工作流程中做错了什么?
使用 EF 6,每个迁移都有关于 DB 的最后状态的元数据。
在 EFCore 中,使用具有数据库快照的单独文件可以更好地完成此操作。
以下是团队环境中迁移的一些良好做法:
https : //msdn.microsoft.com/en-us/library/dn481501(v=vs.113).aspx
如何在具有多个分支的项目中管理迁移?
现在您的情况非常具体,我不确定这些程序中的任何一个都有自动解决方案。
我能想到的一种方法是让 DB 模型不在本地而是在服务器上,并且每个开发人员在创建迁移时都以该模型为目标。
然而,在之前的博客中,共享数据库不被认为是最佳实践。您需要找出一些混合程序来遵守每条建议。祝你好运...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句