迁移如何应用于数据库? [关闭]
Posted
技术标签:
【中文标题】迁移如何应用于数据库? [关闭]【英文标题】:How Migrations are applied to the database? [closed] 【发布时间】:2021-02-25 07:03:51 【问题描述】:我想了解迁移在实体框架中是如何工作的,ef 如何知道应该将哪个迁移应用于数据库? 我看到在每个数据库中都有一个包含迁移列表的 __MigrationHistory 表。
在将特定迁移应用到数据库之前,ef 是否会比较该表中的迁移和项目中的迁移?
【问题讨论】:
从这里开始:docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/… 【参考方案1】:应用迁移的历史记录在__EFMigrationsHistory
表中。当 EF 将代码中的迁移列表与数据库中应用的迁移列表进行比较时。因此,它会尝试按照创建时间的顺序将新的迁移应用到数据库。
此外,EF Core 会忽略数据库中列出并从代码中删除的项目。
通过将迁移保留在您的代码中,您可以按照它们应用于数据库并在__EFMigrationsHistory
表中列出的顺序逐步撤消方案。
【讨论】:
此外,EF Core 会忽略数据库中列出并从代码中删除的项目。你能解释一下吗? 我的意思是,如果您删除了已应用的迁移,您不会遇到任何问题,因为 EF Core 仅尝试应用代码中存在但未应用到数据库的迁移以上是关于迁移如何应用于数据库? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章