【发布时间】:2014-11-13 17:06:04
【问题描述】:
我试图弄清楚如何使用 EF 代码优先和迁移来实现以下部署方案。 这个想法是我想用向后兼容的模式更改升级数据库(例如:添加一列)并测试一切是否仍然有效。它受到绿/蓝部署的启发,但并不完全遵循这种模式。这背后的原因是遵循这个过程:
- 升级数据库(EF 迁移)
- 测试网站
- 更新网站代码
- 如果出现问题,请恢复到以前的网站代码
我肯定会面临的问题是,在第 2 步(和第 4 步)中,我肯定会从 EF 收到关于模型正在更改的错误,尽管所有数据库更改都与现有代码兼容...
我知道一个解决方案是将“Down”数据库迁移到以前的版本(甚至进行数据库备份),但可能会发生某些迁移非常复杂并且“Down”部分可能会损坏或只是编码不好。
所以我的问题是:有没有办法避免 EF 检查模型或最终意识到更改是向后兼容的?
【问题讨论】:
标签: c# asp.net-mvc entity-framework entity-framework-migrations