如何为身份添加缺失的迁移? (无效的对象名称 'dbo.AspNetRoles')
How to add missing migrations for Identity? (Invalid object name 'dbo.AspNetRoles')
我创建了一个 asp.net 应用程序,它在我的开发机器上创建了这些内置表,这是使用 asp.net mvc 中的身份部分所必需的。
但是,在初始创建之后,我不得不创建一个 SwitchToIdentityDbContext
迁移,它具有创建这些表的所有逻辑。但在我当时的应用程序中,这些表确实已经存在,所以我删除了那个逻辑。之后(我认为)当我尝试将我的应用程序部署到没有这些表的新数据源时,它导致缺少标识表。
有没有办法生成丢失的迁移以获得此 运行?
到目前为止,我的配置中有这个:
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
即使我删除那个迁移并添加一个新迁移,它还是空的。
如果您不关心驻留在数据库中的数据,更正架构的一种选择是删除 Visual Studio 中的所有 .cs
迁移和 [=11] 中的所有记录=] table 在你的数据库中。之后你可以尝试在 Visual Studio 中创建一个全新的迁移来修复数据库。
但是,如果这不起作用,您可以清除 Visual Studio 中的所有迁移并完全删除数据库。那么运行
add-migration CreateMyDb
,然后update-database
你应该可以开始了。
如果您 关心您的数据,您可以随时将数据库 table 的内容导出到 Server Management Studio
中的 .csv 文件(如果你使用它)在销毁迁移之前。
我创建了一个 asp.net 应用程序,它在我的开发机器上创建了这些内置表,这是使用 asp.net mvc 中的身份部分所必需的。
但是,在初始创建之后,我不得不创建一个 SwitchToIdentityDbContext
迁移,它具有创建这些表的所有逻辑。但在我当时的应用程序中,这些表确实已经存在,所以我删除了那个逻辑。之后(我认为)当我尝试将我的应用程序部署到没有这些表的新数据源时,它导致缺少标识表。
有没有办法生成丢失的迁移以获得此 运行?
到目前为止,我的配置中有这个:
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
即使我删除那个迁移并添加一个新迁移,它还是空的。
如果您不关心驻留在数据库中的数据,更正架构的一种选择是删除 Visual Studio 中的所有 .cs
迁移和 [=11] 中的所有记录=] table 在你的数据库中。之后你可以尝试在 Visual Studio 中创建一个全新的迁移来修复数据库。
但是,如果这不起作用,您可以清除 Visual Studio 中的所有迁移并完全删除数据库。那么运行
add-migration CreateMyDb
,然后update-database
你应该可以开始了。
如果您 关心您的数据,您可以随时将数据库 table 的内容导出到 Server Management Studio
中的 .csv 文件(如果你使用它)在销毁迁移之前。