编辑:我删除了数据库。它仍然告诉我迁移已应用。我不相信你的话,EF...
我有5个迁移,但第5个是意外创建的。它没有任何更改(Up
和Down
方法为空)。我没有考虑就将其应用到了数据库中。
现在当我运行dotnet ef database update migration4
时,它告诉我成功回滚了迁移#5,并且__EFMigrationsHistory
表中没有迁移#5的条目。但是当我尝试使用dotnet ef migrations remove
删除它时,它告诉我迁移#5仍然应用于数据库中,并且__EFMigrationsHistory
中的条目会重新出现。
当我使用dotnet ef database update migration3
回滚到迁移#3时,它确实删除了迁移#4的更改,并从__EFMigrationsHistory
表中删除了条目。
现在,当我尝试删除时,它只是重新应用所有迁移。回滚到初始迁移也是一样。
有什么建议吗?我不知道从哪里开始。我需要重新做整个数据库和/或迁移吗?我尝试覆盖迁移#5,但dotnet ef migrations add
不接受参数-f
或--force
。
dotnet ef database update migration3
不会删除 Migration3 的更改,而是会从 Migration4 中删除。 - Vivek NunaUpdate-database -TargetMigration:"Migrationx" -force
,它可以成功地工作。 - Peter Smithmigrations add
命令来覆盖迁移 #5,更新数据库没有问题。 - lennydotnet ef migrations remove
时,它会再次应用所有旧的迁移,并告诉我无法删除迁移 #5 - 因为出于某种原因它被再次应用。 - lenny