我有一个mysql数据库,但我无法删除它。我在asp.net项目中丢失了我的迁移文件,并且在dbcontext文件中做了一些更改。
当我尝试创建新的迁移并更新数据库时,它显示表'aspnetroles'已经存在。我该怎么办?如何恢复迁移或如何使迁移和数据库相等?
EF Core Migrations的dotnet ef database update将尝试将数据库更新到最新的迁移。它将查询__EFMigrationsHistory表,以查看哪些迁移已经应用,哪些还需要应用(如果有的话)。
dotnet ef database update
__EFMigrationsHistory
解决某些问题的方法是通过手动插入迁移历史记录来模拟已应用更新。这样可以避免删除数据库,这在生产环境下可能会有问题。
将记录插入到开发数据库中,如下所示:
EF Core Migrations的
dotnet ef database update
将尝试将数据库更新到最新的迁移。它将查询__EFMigrationsHistory
表,以查看哪些迁移已经应用,哪些还需要应用(如果有的话)。解决某些问题的方法是通过手动插入迁移历史记录来模拟已应用更新。这样可以避免删除数据库,这在生产环境下可能会有问题。
将记录插入到开发数据库中,如下所示: