迁移需要很长时间才能应用到数据库

Posted

技术标签:

【中文标题】迁移需要很长时间才能应用到数据库【英文标题】:Migration taking a lot of time to apply to the DB 【发布时间】:2016-01-17 23:30:49 【问题描述】:

我正在处理一个实体框架项目(代码优先),并且遇到了改变表格的情况。 我已经运行了相同的 add-migration 并获得了迁移文件。 当我尝试将此迁移应用到数据库时,它会花费大量时间,并且我的应用程序中出现超时错误。

在这里,我正在尝试将具有 24379 条记录且少数列具有现有值的现有表的列(11 列)更改为可为空。

是否有任何逻辑让我的应用程序等待并且相应的迁移适用于我的数据库。 我已将 DB 中的 Transaction Timeout 增加到 65535 秒。问题仍然存在。

有什么帮助吗?

提前致谢

【问题讨论】:

【参考方案1】:

你需要使用命令超时:

internal sealed class Configuration : DbMigrationsConfiguration<ApplicationDbContext>

    public Configuration()
    
        AutomaticMigrationsEnabled = false;
        CommandTimeout = 300; // 5 minutes
    
...

https://msdn.microsoft.com/en-us/library/system.data.entity.migrations.dbmigrationsconfiguration.commandtimeout(v=vs.113).aspx

【讨论】:

以上是关于迁移需要很长时间才能应用到数据库的主要内容,如果未能解决你的问题,请参考以下文章

使用 Flex 时 SQL Server 需要很长时间才能将数据返回到 ColdFusion

数据库项目需要很长时间才能打开

需要很长时间才能打开的基于文档的核心数据应用程序的最佳实践

JackRabbit Oak:我的应用程序需要很长时间才能启动/重新启动

SSDT 很长时间加载项目和未解决的参考

申请报告需要很长时间才能更新