生产数据库迁移期间重定向到维护页面

时间:2015-12-09 11:14:56

标签: entity-framework azure deployment ef-migrations swap

我正在使用Azure网站进行升级,以便在交换到生产之前预热更改。但是,此解决方案不适用于实体框架迁移。

如果我在暂存插槽上启用迁移,则会正确迁移数据库。但是,生产网站仍然使用旧迁移,不再能够与db上下文连接并生成错误。

因此,登台网站没问题,但产量下降了。我曾尝试直接发布到生产,只要有不良结果的迁移(网站因为数据库在多次请求时遇到迁移而难以迁移15分钟,因为所有缓存都在网站上重置)。

我能找到的唯一解决方案是让网站停下来向用户显示维护信息。

我想要做的是将用户重定向到维护页面,该页面会在1分钟后使用javascript将其重定向回之前的请求。但是,我只会为实体迁移错误(数据库架构更改)执行此操作。对于其他错误,他们应该转到标准错误页面。

我可以通过设置维护消息部署插槽手动完成所有操作,并在手动部署升级时将其交换到生产环境。但是,有没有自动化的方法呢?

更新:在迁移数据库时使用户脱机的解决方法

  • 上传(使用ftp)app_offline.htm到production,向用户显示一条简单的消息,并使用javascript每分钟重新加载页面。

    • 将迁移部署到暂存

    • 加载登台以执行迁移并预热网络应用

    • 交换生产

    • 删除app_offline.htm(现在正在暂存)

0 个答案:

没有答案