首页  >  问答  >  正文

恢复数据库迁移的方法

我有一个mysql数据库,但我无法删除它。我在asp.net项目中丢失了我的迁移文件,并且在dbcontext文件中做了一些更改。

当我尝试创建新的迁移并更新数据库时,它显示表'aspnetroles'已经存在。我该怎么办?如何恢复迁移或如何使迁移和数据库相等?

P粉418214279P粉418214279407 天前541

全部回复(1)我来回复

  • P粉337385922

    P粉3373859222023-09-09 18:32:20

    EF Core Migrations的dotnet ef database update将尝试将数据库更新到最新的迁移。它将查询__EFMigrationsHistory表,以查看哪些迁移已经应用,哪些还需要应用(如果有的话)。

    解决某些问题的方法是通过手动插入迁移历史记录来模拟已应用更新。这样可以避免删除数据库,这在生产环境下可能会有问题。

    将记录插入到开发数据库中,如下所示:

    MigrationId ProductVersion
    20230516084711_Initial 7.0.5

    回复
    0
  • 取消回复