AutomaticMigrationsEnabled或真或假?(AutomaticMigration

2019-06-26 17:45发布

在EF项目中,有没有设置任何AutomaticMigrationsEnabled最佳实践?

更多的声明:

在修改我们通常运行模型后,我们的团队“添加迁移”和“更新DATABSE”在包管理器控制台命令。 当其他开发运行该项目,该错误引起:

“因为它是在使用中,无法删除数据库”

每当这种情况发生的第一调整应该Check In整个项目等都有GET修改的对象。 在许多情况下,我们不希望在已经建立的模型和迁移检查!

这种情况是烦人的,是否有这样那样的问题的任何解决方案。 提前致谢。

Answer 1:

自动迁移为你做所有的魔法,但他们不允许严格的版本(你不必为每个版本的特别固定的迁移)。 如果没有严格的版本,你无法跟踪你的数据库的版本,你不能做明确的升级(你不能做降级的话)。

如果你不打算使用的版本,你需要知道数据库是什么版本,如果你不打算使用降级,你可以简单地使用自动迁移。

“因为它是在使用中,无法删除数据库”

它看起来像你在共享数据库=显示塞工作。 每个开发人员应该使用自己的数据库。

但不希望签一个已经创建的模型和迁移!

这是一个最好的做法,如果你想继续使用基于代码的迁移,你必须遵循它。 顺便说一句。 有一个名为“持续集成”的做法-在持续集成,你应该立即得到后提交构建成功并通过测试。



Answer 2:

来源: http://msdn.microsoft.com/en-us/data/jj554735.aspx

建议对团队环境

您可以点缀自动和基于代码的迁移,但这不是在团队开发方案建议。 如果你是一个团队的使用源代码控制你还是使用纯粹的自动迁移或纯粹基于代码的开发人员迁移的一部分。 鉴于我们建议在团队环境中使用基于代码的迁移自动迁移的限制。



文章来源: AutomaticMigrationsEnabled false or true?