禁用每个用户的代码首次迁移

时间:2014-01-15 12:34:52

标签: ef-migrations

我们是一个由4名开发人员组成的团队,他们使用Code First Migrations开发了大约21个月的产品。我们使用此代码首次迁移时遇到了无数问题和麻烦(因为我们都同时进行数据库更改和签入),并且正在考虑我们的替代方案。我们目前正在将TeamCity设置为构建服务器,以便在我们检入时自动构建解决方案,如果一切顺利,代码将自动推送到预览服务器。

我们打算尝试不检查迁移,只检查模型更改的情况,并且我们都在本地构建迁移,因此我们避免了合并/使订单不同步的麻烦。然后,当我们完成某个工作包的开发时,我们将创建一个可以在实时环境中有效运行的迁移。我们想知道的是,无论如何在某种配置上关闭/禁用代码首次迁移,以便我们可以使用代码首次迁移开发,但让TeamCity成功构建项目,然后手动更新数据库而不使用迁移?

我已经读过您可以通过删除最初在启用迁移时创建的迁移文件夹来禁用迁移,并删除MigrationHistory表但我们仍然希望在本地使用它,但是,我们希望TeamCity忽略迁移方面我们还在发展中。只有当我们完成工作包时,我们才会再次启用迁移,以便更新数据库并将代码推广到我们的预览服务器。

我希望这是有道理的,如果有任何人在代码首次迁移后有任何生活经验,请告诉所有人!

谢谢,

1 个答案:

答案 0 :(得分:0)

迁移配置类(首次启用迁移时自动生成)中配置了迁移的自动执行:

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