EF Core 缺少快照 - 标识服务器



我的任务是将IdentityServer应用程序更新到最新版本。

ConfigurationDbContext 和 PersistedGrantDbContext 与当前数据库之间存在一些差异。

通常我会创建一个迁移,然后更新数据库,但在这个项目中,没有以前的迁移或数据库快照。

因此,如果我尝试创建迁移,则整个上下文都是脚本化的,而不仅仅是更改。

如何创建迁移,这只是当前数据库和 DbContext 之间的差异。

最简单的方法应该是在升级之前基于上下文创建初始迁移,然后升级 dbContext(s( 并为此创建迁移。

像这样:

dotnet ef migrations add InitialConfigration -c ConfigurationDbContext -o Data/Migrations/IdentityServer/Configuration
dotnet ef migrations add InitialPersistedGrant -c PersistedGrantDbContext -o Data/Migrations/IdentityServer/PersistedGrant

然后删除初始迁移代码中Up()方法内的任何代码。

最后

dotnet ef database update

在这里,您应该将初始迁移与 dbContext 同步,并且可以升级上下文并创建第一个实际迁移。实际上对IdSrv来说没有什么特别的。

最新更新