如何更改旧迁移的名称(重命名)?它与我的自定义身份用户的名称冲突。
更改身份用户会更容易吗?我也不知道如何重命名它,为了简单起见,每个教程都只是创建一个新的数据库(也欢迎任何有关此的信息)。
是不是像重命名那么简单:
是这样吗?知道这是否会把事情搞砸吗?
如果只是类名冲突,只需重命名类就足够了。
如果您真的想要重命名整个迁移,那么您的步骤看起来是正确的。确保检查
*.Designer.cs
文件以重命名包含该名称的字符串文字。
自从我通过谷歌搜索到达这里以来,就实际问题的直接答案而言:
这并不只是重命名迁移文件那么简单。特别是如果迁移已经转移到客户端数据库的话。
我发现 EF 仍然在某处记住旧迁移的名称,并且即使在重命名迁移文件、设计器文件和类名之后,最终仍然将旧名称插入到
__EFMigrationsHistory
表中。
对我来说,将 Up 和 Down 方法中的所有代码复制到记事本中更容易,使用
remove-migration
删除错误命名的迁移,然后使用 add-migration
添加具有所需名称的新迁移并复制回我保存的记事本中的所有代码。但是,这仅在迁移是最新迁移时才有效。
如果它是旧的,已经出到客户端数据库,或者被其他迁移取代,您将不得不担心以某种方式手动更新
__EFMigrationsHistory
表以及 EF 对迁移名称的记忆(无论它在哪里),这可能会变得非常棘手.
要成功重命名迁移文件,您需要执行两个步骤:
首先,重命名迁移文件。
其次,打开 .Designer.cs 文件并更新迁移名称([Migration("要更改的重命名的迁移")])。 完成这些步骤后,运行 update-database 命令。