我已经搞砸了我的迁移,我在初始迁移上使用了IgnoreChanges,但现在我想删除所有的迁移,并从具有所有逻辑的初始迁移开始。
当我删除文件夹中的迁移并尝试添加- migration时,它不会生成一个完整的文件(它是空的-因为我没有做任何更改,但现在删除了,迁移)。
是否有禁用-迁移命令,以便我可以重新运行启用-迁移?
我已经搞砸了我的迁移,我在初始迁移上使用了IgnoreChanges,但现在我想删除所有的迁移,并从具有所有逻辑的初始迁移开始。
当我删除文件夹中的迁移并尝试添加- migration时,它不会生成一个完整的文件(它是空的-因为我没有做任何更改,但现在删除了,迁移)。
是否有禁用-迁移命令,以便我可以重新运行启用-迁移?
当前回答
删除迁移文件夹,清理然后重建项目。这对我很管用。在清理和重建之前,它说迁移已经存在,因为在它的缓存内存中,它还没有删除。
其他回答
如何
Update-Database –TargetMigration: $InitialDatabase
在包管理器控制台?它应该将所有更新重置到非常早期的状态。
参考链接:代码优先迁移-迁移到特定版本(包括降级)
Enable-Migrations -EnableAutomaticMigrations -Force
考虑到当我们在。net Core中搜索EF时仍然会出现这个问题,我将在这里发布我的答案(因为它一直困扰着我)。注意,EF 6 .NET版本有一些微妙之处(没有初始命令,你将需要删除“快照”文件)
(在。net Core 2.1中测试)
以下是步骤:
删除_efmigrationhistory表。 在整个解决方案中搜索名称中包含Snapshot的文件,例如ApplicationDbContextSnapshot.cs,然后删除它们。 重新构建解决方案 执行Add-Migration InitialMigration命令
请注意: 必须删除所有快照文件。我花了无数个小时删除数据库……如果您不这样做,这将生成一个空迁移。
此外,在#3中,您可以随意命名您的迁移。
以下是一些额外的资源: asp.net CORE迁移生成空
重置实体框架7迁移
删除迁移文件夹,清理然后重建项目。这对我很管用。在清理和重建之前,它说迁移已经存在,因为在它的缓存内存中,它还没有删除。
UPDATE 2020 =>重置实体-框架迁移
Add-Migration Initial -Context ApplicationDbContext
ApplicationDbContext =>您的上下文。
但是如果你只需要更新一个存在的标识模式,试试它: https://stackoverflow.com/a/59966100/4654957