我受命将IdentityServer应用程序更新到最新版本。
ConfigurationDbContext和PersistedGrantDbContext与当前数据库之间存在一些差异。
通常,我会创建一个迁移,然后更新数据库,但是在此项目中,没有以前的迁移或数据库快照。
因此,如果我尝试创建迁移,则整个Context都会编写脚本,而不仅仅是更改。
如何创建迁移,这只是当前数据库和DbContext之间的区别。
答案 0 :(得分:0)
最简单的方法应该是在升级之前基于上下文创建初始迁移,然后升级dbContext并为此创建迁移。
像这样:
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没有什么特别的。