我不小心从__MigrationHistory表中删除了数据,并且尝试将新表和列更改迁移到db。这次EF6告诉我一个错误
"There is already an object named 'xxxx' in the database.".
我使用此命令尝试过这种方式,并且对表列的更改没有影响。
Add-Migration MyMigration1 -IgnoreChanges
Update-database -Force
关于重新创建数据库或其他数据库,有很多建议。但是这些方式可能是影响数据丢失到我的数据库中,该数据库包含大量已测试的数据,并且我无法丢失任何数据。如何在不丢失任何数据的情况下解决此错误。如果有人请...
最后,我找到了解决问题的解决方案。我不确定这不是解决此类问题的首选方法,但对我有用。
我从__MigrationHistory表中清除了数据,试图迁移新数据库,然后将数据从新数据库的__MigrationHistory复制到了我的旧数据库,然后将AutomaticMigration设置为true并运行update-database命令,问题得以解决。
答案 0 :(得分:0)
我不确定它是否可以解决此问题,但是它对我有用。
我只是用正确的版本和已经应用的迁移的名称插入到该表中,我在EF Core中完成了它,并且它确实有效,但是请耐心等待有人确认我正在写什么。
我看到的问题是,您需要再填写两个字段(在EF Core中只有两列),但是我认为您可以使用例如SQL Profiler来接收它们