如何将Asp.Net Identity V2.0降级到V1.0?
How to downgrade Asp.Net Identity V2.0 to V1.0?
我最近将 Asp.Net Identity V1.0 升级到 V2.0。因此,在 Identity 数据库中添加了更多的列,如 Email、IsEmailConfirmed 等,没有任何数据丢失。
我想知道有什么方法可以在不丢失任何数据的情况下从 Asp.Net Identity V2.0 降级到 V1.0。
我试过很多方法,但我无法在不丢失数据的情况下检索 Identity V1.0 数据库。花了将近 3 天的时间来寻找 tutorial/blog 降级 activity 的好东西,但找不到。
非常感谢任何帮助。
我假设没有源代码控制或备份?
你可以做的一件事是使用 code first migrations:
1) 打开您的解决方案的标识版本 1。如果找不到,只需使用 Identity Version 1 做一个新项目。
2) 在控制台中,enable-migrations
然后 add-migration -IgnoreChanges initialIdentity1
然后是 update-database
。这将创建一个带有当前数据库状态快照的迁移。
3) 升级到身份 2。
4) 在控制台中,add-migration identity2update
后跟 update-database
。这将创建一个具有差异的迁移,包括一个名为 Down()
的方法,该方法将包含向后移动所需的信息。
5) 生成可用于向后移动的脚本:
update-database -Script -TargetMigration initialIdentity1
6) 将该脚本应用到您的数据库并降级 Nuget Identity 包。
现在备份并将您的代码添加到源代码管理:)
我最近将 Asp.Net Identity V1.0 升级到 V2.0。因此,在 Identity 数据库中添加了更多的列,如 Email、IsEmailConfirmed 等,没有任何数据丢失。
我想知道有什么方法可以在不丢失任何数据的情况下从 Asp.Net Identity V2.0 降级到 V1.0。
我试过很多方法,但我无法在不丢失数据的情况下检索 Identity V1.0 数据库。花了将近 3 天的时间来寻找 tutorial/blog 降级 activity 的好东西,但找不到。
非常感谢任何帮助。
我假设没有源代码控制或备份?
你可以做的一件事是使用 code first migrations:
1) 打开您的解决方案的标识版本 1。如果找不到,只需使用 Identity Version 1 做一个新项目。
2) 在控制台中,enable-migrations
然后 add-migration -IgnoreChanges initialIdentity1
然后是 update-database
。这将创建一个带有当前数据库状态快照的迁移。
3) 升级到身份 2。
4) 在控制台中,add-migration identity2update
后跟 update-database
。这将创建一个具有差异的迁移,包括一个名为 Down()
的方法,该方法将包含向后移动所需的信息。
5) 生成可用于向后移动的脚本:
update-database -Script -TargetMigration initialIdentity1
6) 将该脚本应用到您的数据库并降级 Nuget Identity 包。
现在备份并将您的代码添加到源代码管理:)