Visual Studio 如果没有__EFPigrationsHistory表,如何将EF核心迁移添加到现有数据库?

mwyxok5s  于 2022-11-17  发布在  Pig
关注(0)|答案(1)|浏览(121)

我在生产环境中有一个以前未涉及EF迁移的现有数据库。因此,它缺少__EFPigrationsHistory表。
我正在执行以下操作:

  • 正在调用Add-Migration InitialCreate
  • 运行应用程序
  • 停止应用程序
  • 将我的修改添加到模型
  • 调用Update-Database
  • 获取错误 * 时出现异常(0x80131904):数据库中已存在名为“sometablename”的对象。*

我假设发生这种情况是因为没有迁移历史记录,它试图从头开始创建所有内容。
如何向以前未使用过的数据库添加迁移?

gpnt7bae

gpnt7bae1#

1.如果确定EF模型与现有数据库模型匹配,则可以手动创建“迁移历史记录”表,并为与现有数据库模型匹配的迁移添加行条目。
1.如果您有一个大型数据库,您将很难确认数据库模型是否与新EF模型匹配。您必须创建一个新数据库,在新数据库上运行迁移,并将数据表逐个从旧数据表导出到新数据表。

相关问题