EFCore数据库无迁移表时如何指定运行单个迁移?
EF 单独执行指定迁移的解决方法
- 首先确认你使用的EF版本,不同版本的迁移命令参数存在差异,你遇到的参数不存在、全量执行迁移的问题均为参数使用错误导致:
-SourceMigration参数的作用是指定迁移的起始点,执行该迁移之后所有未执行的迁移,不符合你指定单条迁移的需求- EF 6版本指定目标迁移使用
-TargetMigration参数,不是你尝试的-target或-migration - EF Core版本指定目标迁移不需要加额外参数前缀,直接在命令后传入迁移名即可
对应版本操作命令
Entity Framework 6 版本
执行以下命令即可仅升级到你指定的迁移版本,不会执行后续的迁移:Update-Database -TargetMigration 202107031357360_LoginTokens
EF Core 版本
直接在命令后拼接目标迁移名即可:Update-Database 202107031357360_LoginTokens
无迁移表场景的补充操作
如果你的数据库首次执行迁移,跑完上述命令后可以检查__EFMigrationsHistory系统表,确认已经插入了对应迁移的记录,避免后续执行迁移时重复运行该脚本。
内容的提问来源于stack exchange,提问作者JVK
相关产品推荐
相关产品推荐

