Browse Source

Cascading deletion of `OpenIddictAuthorizations ` and `OpenIddictTokens`.

Resolve #21024
pull/21096/head
maliming 2 years ago
parent
commit
fb37bfe0a2
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 21
      modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20241016024422_Initial.Designer.cs
  2. 14
      modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20241016024422_Initial.cs
  3. 19
      modules/openiddict/app/OpenIddict.Demo.Server/Migrations/ServerDbContextModelSnapshot.cs
  4. 7
      modules/openiddict/src/Volo.Abp.OpenIddict.EntityFrameworkCore/Volo/Abp/OpenIddict/EntityFrameworkCore/OpenIddictDbContextModelCreatingExtensions.cs

21
modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20240829013142_Initial.Designer.cs → modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20241016024422_Initial.Designer.cs

@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace OpenIddict.Demo.Server.Migrations namespace OpenIddict.Demo.Server.Migrations
{ {
[DbContext(typeof(ServerDbContext))] [DbContext(typeof(ServerDbContext))]
[Migration("20240829013142_Initial")] [Migration("20241016024422_Initial")]
partial class Initial partial class Initial
{ {
/// <inheritdoc /> /// <inheritdoc />
@ -22,7 +22,7 @@ namespace OpenIddict.Demo.Server.Migrations
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("ProductVersion", "9.0.0-rc.2.24474.1")
.HasAnnotation("Relational:MaxIdentifierLength", 128); .HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
@ -403,9 +403,13 @@ namespace OpenIddict.Demo.Server.Migrations
.HasMaxLength(64) .HasMaxLength(64)
.HasColumnType("nvarchar(64)"); .HasColumnType("nvarchar(64)");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.Property<string>("IpAddresses") b.Property<string>("IpAddresses")
.HasMaxLength(256) .HasMaxLength(2048)
.HasColumnType("nvarchar(256)"); .HasColumnType("nvarchar(2048)");
b.Property<DateTime?>("LastAccessed") b.Property<DateTime?>("LastAccessed")
.HasColumnType("datetime2"); .HasColumnType("datetime2");
@ -1541,18 +1545,21 @@ namespace OpenIddict.Demo.Server.Migrations
{ {
b.HasOne("Volo.Abp.OpenIddict.Applications.OpenIddictApplication", null) b.HasOne("Volo.Abp.OpenIddict.Applications.OpenIddictApplication", null)
.WithMany() .WithMany()
.HasForeignKey("ApplicationId"); .HasForeignKey("ApplicationId")
.OnDelete(DeleteBehavior.Cascade);
}); });
modelBuilder.Entity("Volo.Abp.OpenIddict.Tokens.OpenIddictToken", b => modelBuilder.Entity("Volo.Abp.OpenIddict.Tokens.OpenIddictToken", b =>
{ {
b.HasOne("Volo.Abp.OpenIddict.Applications.OpenIddictApplication", null) b.HasOne("Volo.Abp.OpenIddict.Applications.OpenIddictApplication", null)
.WithMany() .WithMany()
.HasForeignKey("ApplicationId"); .HasForeignKey("ApplicationId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("Volo.Abp.OpenIddict.Authorizations.OpenIddictAuthorization", null) b.HasOne("Volo.Abp.OpenIddict.Authorizations.OpenIddictAuthorization", null)
.WithMany() .WithMany()
.HasForeignKey("AuthorizationId"); .HasForeignKey("AuthorizationId")
.OnDelete(DeleteBehavior.Cascade);
}); });
modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b =>

14
modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20240829013142_Initial.cs → modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20241016024422_Initial.cs

@ -232,9 +232,10 @@ namespace OpenIddict.Demo.Server.Migrations
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true), TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
ClientId = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true), ClientId = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
IpAddresses = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true), IpAddresses = table.Column<string>(type: "nvarchar(2048)", maxLength: 2048, nullable: true),
SignedIn = table.Column<DateTime>(type: "datetime2", nullable: false), SignedIn = table.Column<DateTime>(type: "datetime2", nullable: false),
LastAccessed = table.Column<DateTime>(type: "datetime2", nullable: true) LastAccessed = table.Column<DateTime>(type: "datetime2", nullable: true),
ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true)
}, },
constraints: table => constraints: table =>
{ {
@ -623,7 +624,8 @@ namespace OpenIddict.Demo.Server.Migrations
name: "FK_OpenIddictAuthorizations_OpenIddictApplications_ApplicationId", name: "FK_OpenIddictAuthorizations_OpenIddictApplications_ApplicationId",
column: x => x.ApplicationId, column: x => x.ApplicationId,
principalTable: "OpenIddictApplications", principalTable: "OpenIddictApplications",
principalColumn: "Id"); principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}); });
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
@ -652,12 +654,14 @@ namespace OpenIddict.Demo.Server.Migrations
name: "FK_OpenIddictTokens_OpenIddictApplications_ApplicationId", name: "FK_OpenIddictTokens_OpenIddictApplications_ApplicationId",
column: x => x.ApplicationId, column: x => x.ApplicationId,
principalTable: "OpenIddictApplications", principalTable: "OpenIddictApplications",
principalColumn: "Id"); principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey( table.ForeignKey(
name: "FK_OpenIddictTokens_OpenIddictAuthorizations_AuthorizationId", name: "FK_OpenIddictTokens_OpenIddictAuthorizations_AuthorizationId",
column: x => x.AuthorizationId, column: x => x.AuthorizationId,
principalTable: "OpenIddictAuthorizations", principalTable: "OpenIddictAuthorizations",
principalColumn: "Id"); principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}); });
migrationBuilder.CreateIndex( migrationBuilder.CreateIndex(

19
modules/openiddict/app/OpenIddict.Demo.Server/Migrations/ServerDbContextModelSnapshot.cs

@ -19,7 +19,7 @@ namespace OpenIddict.Demo.Server.Migrations
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("ProductVersion", "9.0.0-rc.2.24474.1")
.HasAnnotation("Relational:MaxIdentifierLength", 128); .HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
@ -400,9 +400,13 @@ namespace OpenIddict.Demo.Server.Migrations
.HasMaxLength(64) .HasMaxLength(64)
.HasColumnType("nvarchar(64)"); .HasColumnType("nvarchar(64)");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.Property<string>("IpAddresses") b.Property<string>("IpAddresses")
.HasMaxLength(256) .HasMaxLength(2048)
.HasColumnType("nvarchar(256)"); .HasColumnType("nvarchar(2048)");
b.Property<DateTime?>("LastAccessed") b.Property<DateTime?>("LastAccessed")
.HasColumnType("datetime2"); .HasColumnType("datetime2");
@ -1538,18 +1542,21 @@ namespace OpenIddict.Demo.Server.Migrations
{ {
b.HasOne("Volo.Abp.OpenIddict.Applications.OpenIddictApplication", null) b.HasOne("Volo.Abp.OpenIddict.Applications.OpenIddictApplication", null)
.WithMany() .WithMany()
.HasForeignKey("ApplicationId"); .HasForeignKey("ApplicationId")
.OnDelete(DeleteBehavior.Cascade);
}); });
modelBuilder.Entity("Volo.Abp.OpenIddict.Tokens.OpenIddictToken", b => modelBuilder.Entity("Volo.Abp.OpenIddict.Tokens.OpenIddictToken", b =>
{ {
b.HasOne("Volo.Abp.OpenIddict.Applications.OpenIddictApplication", null) b.HasOne("Volo.Abp.OpenIddict.Applications.OpenIddictApplication", null)
.WithMany() .WithMany()
.HasForeignKey("ApplicationId"); .HasForeignKey("ApplicationId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("Volo.Abp.OpenIddict.Authorizations.OpenIddictAuthorization", null) b.HasOne("Volo.Abp.OpenIddict.Authorizations.OpenIddictAuthorization", null)
.WithMany() .WithMany()
.HasForeignKey("AuthorizationId"); .HasForeignKey("AuthorizationId")
.OnDelete(DeleteBehavior.Cascade);
}); });
modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b =>

7
modules/openiddict/src/Volo.Abp.OpenIddict.EntityFrameworkCore/Volo/Abp/OpenIddict/EntityFrameworkCore/OpenIddictDbContextModelCreatingExtensions.cs

@ -40,6 +40,9 @@ public static class OpenIddictDbContextModelCreatingExtensions
b.Property(x => x.ClientType) b.Property(x => x.ClientType)
.HasMaxLength(OpenIddictApplicationConsts.ClientTypeMaxLength); .HasMaxLength(OpenIddictApplicationConsts.ClientTypeMaxLength);
b.HasMany<OpenIddictAuthorization>().WithOne().HasForeignKey(x => x.ApplicationId).IsRequired(false).OnDelete(DeleteBehavior.Cascade);
b.HasMany<OpenIddictToken>().WithOne().HasForeignKey(x => x.ApplicationId).IsRequired(false).OnDelete(DeleteBehavior.Cascade);
b.ApplyObjectExtensionMappings(); b.ApplyObjectExtensionMappings();
}); });
@ -66,7 +69,7 @@ public static class OpenIddictDbContextModelCreatingExtensions
b.Property(x => x.Type) b.Property(x => x.Type)
.HasMaxLength(OpenIddictAuthorizationConsts.TypeMaxLength); .HasMaxLength(OpenIddictAuthorizationConsts.TypeMaxLength);
b.HasOne<OpenIddictApplication>().WithMany().HasForeignKey(x => x.ApplicationId).IsRequired(false); b.HasMany<OpenIddictToken>().WithOne().HasForeignKey(x => x.AuthorizationId).IsRequired(false).OnDelete(DeleteBehavior.Cascade);
b.ApplyObjectExtensionMappings(); b.ApplyObjectExtensionMappings();
}); });
@ -115,8 +118,6 @@ public static class OpenIddictDbContextModelCreatingExtensions
b.Property(x => x.Type) b.Property(x => x.Type)
.HasMaxLength(OpenIddictTokenConsts.TypeMaxLength); .HasMaxLength(OpenIddictTokenConsts.TypeMaxLength);
b.HasOne<OpenIddictApplication>().WithMany().HasForeignKey(x => x.ApplicationId).IsRequired(false);
b.HasOne<OpenIddictAuthorization>().WithMany().HasForeignKey(x => x.AuthorizationId).IsRequired(false);
b.ApplyObjectExtensionMappings(); b.ApplyObjectExtensionMappings();
}); });

Loading…
Cancel
Save