假设我是一名开发人员,我检查了旧版本的代码,这样我的本地数据库就“领先”了,比如
local db migrations: A -> B -> C -> D
code migrations: A -> B
我如何通过运行来解决这个问题
Update-Database -TargetMigration -B
在 PCM 中。据我了解,运行
D.Down()
C.Down()
但是,如果这些方法不在我 checkout 的代码中,EF 会在哪里找到这些方法?它们是否在 __MigrationHistory
的 [Model]
列中?我认为该列只存储模型,不存储迁移。
最佳答案
旧版本的代码不可能知道如何回滚数据库。该信息保存在当前版本中。您需要使用当前版本执行 Update-Database -TargetMigration -B
然后检查旧版本。
关于c# - 当我的代码迁移落后于数据库迁移时, Entity Framework 如何找到 Down() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49224656/