Entity framework migrations 禁用每个用户的代码优先迁移

Entity framework migrations 禁用每个用户的代码优先迁移,entity-framework-migrations,Entity Framework Migrations,我们是一个由4名开发人员组成的团队,已经使用代码优先迁移开发了一个产品大约21个月。我们在使用此代码优先迁移时遇到了无数问题和头痛,因为我们都同时进行数据库更改和签入,目前正在考虑我们的替代方案。我们目前正在将TeamCity设置为我们的构建服务器,以便在我们签入解决方案时自动构建,如果一切正常,代码将自动推送到预览服务器 我们将尝试这样一种情况:我们不签入迁移,只签入模型更改,我们都在本地构建迁移,因此我们避免了合并/使顺序不同步的麻烦。然后,当我们完成对某个工作包的开发时,我们将创建一个可以

我们是一个由4名开发人员组成的团队,已经使用代码优先迁移开发了一个产品大约21个月。我们在使用此代码优先迁移时遇到了无数问题和头痛,因为我们都同时进行数据库更改和签入,目前正在考虑我们的替代方案。我们目前正在将TeamCity设置为我们的构建服务器,以便在我们签入解决方案时自动构建,如果一切正常,代码将自动推送到预览服务器

我们将尝试这样一种情况:我们不签入迁移,只签入模型更改,我们都在本地构建迁移,因此我们避免了合并/使顺序不同步的麻烦。然后,当我们完成对某个工作包的开发时,我们将创建一个可以在实时环境中有效运行的迁移。我们想知道的是,是否有必要在某种配置上关闭/禁用代码优先迁移,以便我们可以使用代码优先迁移进行开发,但TeamCity可以成功构建项目,然后在不使用迁移的情况下手动更新数据库

我已经了解到,您可以通过删除最初在启用迁移时创建的迁移文件夹来禁用迁移,并删除MigrationHistory表,但我们仍然希望在本地执行此操作,但是,我们希望TeamCity在开发过程中忽略迁移方面。只有在完成工作包后,我们才希望再次启用迁移,以便更新数据库并将代码发布到预览服务器

我希望这是有意义的,如果有人在代码第一次迁移后有任何生活经验,请告诉所有人


谢谢,

自动执行迁移是在首次启用迁移时自动生成的迁移配置类中配置的:

internal sealed class Configuration : DbMigrationsConfiguration<MigrationsContext>
{
    public Configuration()
    {
        AutomaticMigrationsEnabled = false;
    }
//...
}