我的情况是这样的 - 我刚刚破坏了我的SQL数据库。我唯一的备份是来自许多迁移之前。假设我现在使用备份作为我的数据库。
如何应用最近的迁移。它们必须存储在db中的某个地方......对吗?
我不仅要求修复,而且理论上对此感兴趣 - Get-Migrations
究竟检查了什么?运行Update-Database
时检查了什么?我知道迁移文件会添加到项目目录中。但它也在数据库的某个地方吗?
答案 0 :(得分:1)
迁移是代码(带有模型快照的资源),应该执行这些代码来更改数据库。 db中有一个表跟踪上次应用的迁移(MigrationHistory)。
答案 1 :(得分:1)
迁移存储在数据库的__MigrationHistory
表中。
Model
列隐藏了您GZip-compressed XML string
的模型。
您可以看到以下页面,以便进行精彩的编写 http://tech.trailmax.info/2014/03/inside_of_ef_migrations/