|
@@ -0,0 +1,658 @@
|
|
|
+using System;
|
|
|
+using Microsoft.EntityFrameworkCore.Metadata;
|
|
|
+using Microsoft.EntityFrameworkCore.Migrations;
|
|
|
+
|
|
|
+namespace AuthCenter.Migrations.IdentityServer.ConfigurationDb
|
|
|
+{
|
|
|
+ public partial class InitialConfigurationDb : Migration
|
|
|
+ {
|
|
|
+ protected override void Up(MigrationBuilder migrationBuilder)
|
|
|
+ {
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "ApiResources",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Enabled = table.Column<bool>(nullable: false),
|
|
|
+ Name = table.Column<string>(maxLength: 200, nullable: false),
|
|
|
+ DisplayName = table.Column<string>(maxLength: 200, nullable: true),
|
|
|
+ Description = table.Column<string>(maxLength: 1000, nullable: true),
|
|
|
+ AllowedAccessTokenSigningAlgorithms = table.Column<string>(maxLength: 100, nullable: true),
|
|
|
+ ShowInDiscoveryDocument = table.Column<bool>(nullable: false),
|
|
|
+ Created = table.Column<DateTime>(nullable: false),
|
|
|
+ Updated = table.Column<DateTime>(nullable: true),
|
|
|
+ LastAccessed = table.Column<DateTime>(nullable: true),
|
|
|
+ NonEditable = table.Column<bool>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_ApiResources", x => x.Id);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "ApiScopes",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Enabled = table.Column<bool>(nullable: false),
|
|
|
+ Name = table.Column<string>(maxLength: 200, nullable: false),
|
|
|
+ DisplayName = table.Column<string>(maxLength: 200, nullable: true),
|
|
|
+ Description = table.Column<string>(maxLength: 1000, nullable: true),
|
|
|
+ Required = table.Column<bool>(nullable: false),
|
|
|
+ Emphasize = table.Column<bool>(nullable: false),
|
|
|
+ ShowInDiscoveryDocument = table.Column<bool>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_ApiScopes", x => x.Id);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "Clients",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Enabled = table.Column<bool>(nullable: false),
|
|
|
+ ClientId = table.Column<string>(maxLength: 200, nullable: false),
|
|
|
+ ProtocolType = table.Column<string>(maxLength: 200, nullable: false),
|
|
|
+ RequireClientSecret = table.Column<bool>(nullable: false),
|
|
|
+ ClientName = table.Column<string>(maxLength: 200, nullable: true),
|
|
|
+ Description = table.Column<string>(maxLength: 1000, nullable: true),
|
|
|
+ ClientUri = table.Column<string>(maxLength: 2000, nullable: true),
|
|
|
+ LogoUri = table.Column<string>(maxLength: 2000, nullable: true),
|
|
|
+ RequireConsent = table.Column<bool>(nullable: false),
|
|
|
+ AllowRememberConsent = table.Column<bool>(nullable: false),
|
|
|
+ AlwaysIncludeUserClaimsInIdToken = table.Column<bool>(nullable: false),
|
|
|
+ RequirePkce = table.Column<bool>(nullable: false),
|
|
|
+ AllowPlainTextPkce = table.Column<bool>(nullable: false),
|
|
|
+ RequireRequestObject = table.Column<bool>(nullable: false),
|
|
|
+ AllowAccessTokensViaBrowser = table.Column<bool>(nullable: false),
|
|
|
+ FrontChannelLogoutUri = table.Column<string>(maxLength: 2000, nullable: true),
|
|
|
+ FrontChannelLogoutSessionRequired = table.Column<bool>(nullable: false),
|
|
|
+ BackChannelLogoutUri = table.Column<string>(maxLength: 2000, nullable: true),
|
|
|
+ BackChannelLogoutSessionRequired = table.Column<bool>(nullable: false),
|
|
|
+ AllowOfflineAccess = table.Column<bool>(nullable: false),
|
|
|
+ IdentityTokenLifetime = table.Column<int>(nullable: false),
|
|
|
+ AllowedIdentityTokenSigningAlgorithms = table.Column<string>(maxLength: 100, nullable: true),
|
|
|
+ AccessTokenLifetime = table.Column<int>(nullable: false),
|
|
|
+ AuthorizationCodeLifetime = table.Column<int>(nullable: false),
|
|
|
+ ConsentLifetime = table.Column<int>(nullable: true),
|
|
|
+ AbsoluteRefreshTokenLifetime = table.Column<int>(nullable: false),
|
|
|
+ SlidingRefreshTokenLifetime = table.Column<int>(nullable: false),
|
|
|
+ RefreshTokenUsage = table.Column<int>(nullable: false),
|
|
|
+ UpdateAccessTokenClaimsOnRefresh = table.Column<bool>(nullable: false),
|
|
|
+ RefreshTokenExpiration = table.Column<int>(nullable: false),
|
|
|
+ AccessTokenType = table.Column<int>(nullable: false),
|
|
|
+ EnableLocalLogin = table.Column<bool>(nullable: false),
|
|
|
+ IncludeJwtId = table.Column<bool>(nullable: false),
|
|
|
+ AlwaysSendClientClaims = table.Column<bool>(nullable: false),
|
|
|
+ ClientClaimsPrefix = table.Column<string>(maxLength: 200, nullable: true),
|
|
|
+ PairWiseSubjectSalt = table.Column<string>(maxLength: 200, nullable: true),
|
|
|
+ Created = table.Column<DateTime>(nullable: false),
|
|
|
+ Updated = table.Column<DateTime>(nullable: true),
|
|
|
+ LastAccessed = table.Column<DateTime>(nullable: true),
|
|
|
+ UserSsoLifetime = table.Column<int>(nullable: true),
|
|
|
+ UserCodeType = table.Column<string>(maxLength: 100, nullable: true),
|
|
|
+ DeviceCodeLifetime = table.Column<int>(nullable: false),
|
|
|
+ NonEditable = table.Column<bool>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_Clients", x => x.Id);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "IdentityResources",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Enabled = table.Column<bool>(nullable: false),
|
|
|
+ Name = table.Column<string>(maxLength: 200, nullable: false),
|
|
|
+ DisplayName = table.Column<string>(maxLength: 200, nullable: true),
|
|
|
+ Description = table.Column<string>(maxLength: 1000, nullable: true),
|
|
|
+ Required = table.Column<bool>(nullable: false),
|
|
|
+ Emphasize = table.Column<bool>(nullable: false),
|
|
|
+ ShowInDiscoveryDocument = table.Column<bool>(nullable: false),
|
|
|
+ Created = table.Column<DateTime>(nullable: false),
|
|
|
+ Updated = table.Column<DateTime>(nullable: true),
|
|
|
+ NonEditable = table.Column<bool>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_IdentityResources", x => x.Id);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "ApiResourceClaims",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Type = table.Column<string>(maxLength: 200, nullable: false),
|
|
|
+ ApiResourceId = table.Column<int>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_ApiResourceClaims", x => x.Id);
|
|
|
+ table.ForeignKey(
|
|
|
+ name: "FK_ApiResourceClaims_ApiResources_ApiResourceId",
|
|
|
+ column: x => x.ApiResourceId,
|
|
|
+ principalTable: "ApiResources",
|
|
|
+ principalColumn: "Id",
|
|
|
+ onDelete: ReferentialAction.Cascade);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "ApiResourceProperties",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Key = table.Column<string>(maxLength: 250, nullable: false),
|
|
|
+ Value = table.Column<string>(maxLength: 2000, nullable: false),
|
|
|
+ ApiResourceId = table.Column<int>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_ApiResourceProperties", x => x.Id);
|
|
|
+ table.ForeignKey(
|
|
|
+ name: "FK_ApiResourceProperties_ApiResources_ApiResourceId",
|
|
|
+ column: x => x.ApiResourceId,
|
|
|
+ principalTable: "ApiResources",
|
|
|
+ principalColumn: "Id",
|
|
|
+ onDelete: ReferentialAction.Cascade);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "ApiResourceScopes",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Scope = table.Column<string>(maxLength: 200, nullable: false),
|
|
|
+ ApiResourceId = table.Column<int>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_ApiResourceScopes", x => x.Id);
|
|
|
+ table.ForeignKey(
|
|
|
+ name: "FK_ApiResourceScopes_ApiResources_ApiResourceId",
|
|
|
+ column: x => x.ApiResourceId,
|
|
|
+ principalTable: "ApiResources",
|
|
|
+ principalColumn: "Id",
|
|
|
+ onDelete: ReferentialAction.Cascade);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "ApiResourceSecrets",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Description = table.Column<string>(maxLength: 1000, nullable: true),
|
|
|
+ Value = table.Column<string>(maxLength: 4000, nullable: false),
|
|
|
+ Expiration = table.Column<DateTime>(nullable: true),
|
|
|
+ Type = table.Column<string>(maxLength: 250, nullable: false),
|
|
|
+ Created = table.Column<DateTime>(nullable: false),
|
|
|
+ ApiResourceId = table.Column<int>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_ApiResourceSecrets", x => x.Id);
|
|
|
+ table.ForeignKey(
|
|
|
+ name: "FK_ApiResourceSecrets_ApiResources_ApiResourceId",
|
|
|
+ column: x => x.ApiResourceId,
|
|
|
+ principalTable: "ApiResources",
|
|
|
+ principalColumn: "Id",
|
|
|
+ onDelete: ReferentialAction.Cascade);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "ApiScopeClaims",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Type = table.Column<string>(maxLength: 200, nullable: false),
|
|
|
+ ScopeId = table.Column<int>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_ApiScopeClaims", x => x.Id);
|
|
|
+ table.ForeignKey(
|
|
|
+ name: "FK_ApiScopeClaims_ApiScopes_ScopeId",
|
|
|
+ column: x => x.ScopeId,
|
|
|
+ principalTable: "ApiScopes",
|
|
|
+ principalColumn: "Id",
|
|
|
+ onDelete: ReferentialAction.Cascade);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "ApiScopeProperties",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Key = table.Column<string>(maxLength: 250, nullable: false),
|
|
|
+ Value = table.Column<string>(maxLength: 2000, nullable: false),
|
|
|
+ ScopeId = table.Column<int>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_ApiScopeProperties", x => x.Id);
|
|
|
+ table.ForeignKey(
|
|
|
+ name: "FK_ApiScopeProperties_ApiScopes_ScopeId",
|
|
|
+ column: x => x.ScopeId,
|
|
|
+ principalTable: "ApiScopes",
|
|
|
+ principalColumn: "Id",
|
|
|
+ onDelete: ReferentialAction.Cascade);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "ClientClaims",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Type = table.Column<string>(maxLength: 250, nullable: false),
|
|
|
+ Value = table.Column<string>(maxLength: 250, nullable: false),
|
|
|
+ ClientId = table.Column<int>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_ClientClaims", x => x.Id);
|
|
|
+ table.ForeignKey(
|
|
|
+ name: "FK_ClientClaims_Clients_ClientId",
|
|
|
+ column: x => x.ClientId,
|
|
|
+ principalTable: "Clients",
|
|
|
+ principalColumn: "Id",
|
|
|
+ onDelete: ReferentialAction.Cascade);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "ClientCorsOrigins",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Origin = table.Column<string>(maxLength: 150, nullable: false),
|
|
|
+ ClientId = table.Column<int>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_ClientCorsOrigins", x => x.Id);
|
|
|
+ table.ForeignKey(
|
|
|
+ name: "FK_ClientCorsOrigins_Clients_ClientId",
|
|
|
+ column: x => x.ClientId,
|
|
|
+ principalTable: "Clients",
|
|
|
+ principalColumn: "Id",
|
|
|
+ onDelete: ReferentialAction.Cascade);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "ClientGrantTypes",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ GrantType = table.Column<string>(maxLength: 250, nullable: false),
|
|
|
+ ClientId = table.Column<int>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_ClientGrantTypes", x => x.Id);
|
|
|
+ table.ForeignKey(
|
|
|
+ name: "FK_ClientGrantTypes_Clients_ClientId",
|
|
|
+ column: x => x.ClientId,
|
|
|
+ principalTable: "Clients",
|
|
|
+ principalColumn: "Id",
|
|
|
+ onDelete: ReferentialAction.Cascade);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "ClientIdPRestrictions",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Provider = table.Column<string>(maxLength: 200, nullable: false),
|
|
|
+ ClientId = table.Column<int>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_ClientIdPRestrictions", x => x.Id);
|
|
|
+ table.ForeignKey(
|
|
|
+ name: "FK_ClientIdPRestrictions_Clients_ClientId",
|
|
|
+ column: x => x.ClientId,
|
|
|
+ principalTable: "Clients",
|
|
|
+ principalColumn: "Id",
|
|
|
+ onDelete: ReferentialAction.Cascade);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "ClientPostLogoutRedirectUris",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ PostLogoutRedirectUri = table.Column<string>(maxLength: 2000, nullable: false),
|
|
|
+ ClientId = table.Column<int>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_ClientPostLogoutRedirectUris", x => x.Id);
|
|
|
+ table.ForeignKey(
|
|
|
+ name: "FK_ClientPostLogoutRedirectUris_Clients_ClientId",
|
|
|
+ column: x => x.ClientId,
|
|
|
+ principalTable: "Clients",
|
|
|
+ principalColumn: "Id",
|
|
|
+ onDelete: ReferentialAction.Cascade);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "ClientProperties",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Key = table.Column<string>(maxLength: 250, nullable: false),
|
|
|
+ Value = table.Column<string>(maxLength: 2000, nullable: false),
|
|
|
+ ClientId = table.Column<int>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_ClientProperties", x => x.Id);
|
|
|
+ table.ForeignKey(
|
|
|
+ name: "FK_ClientProperties_Clients_ClientId",
|
|
|
+ column: x => x.ClientId,
|
|
|
+ principalTable: "Clients",
|
|
|
+ principalColumn: "Id",
|
|
|
+ onDelete: ReferentialAction.Cascade);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "ClientRedirectUris",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ RedirectUri = table.Column<string>(maxLength: 2000, nullable: false),
|
|
|
+ ClientId = table.Column<int>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_ClientRedirectUris", x => x.Id);
|
|
|
+ table.ForeignKey(
|
|
|
+ name: "FK_ClientRedirectUris_Clients_ClientId",
|
|
|
+ column: x => x.ClientId,
|
|
|
+ principalTable: "Clients",
|
|
|
+ principalColumn: "Id",
|
|
|
+ onDelete: ReferentialAction.Cascade);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "ClientScopes",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Scope = table.Column<string>(maxLength: 200, nullable: false),
|
|
|
+ ClientId = table.Column<int>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_ClientScopes", x => x.Id);
|
|
|
+ table.ForeignKey(
|
|
|
+ name: "FK_ClientScopes_Clients_ClientId",
|
|
|
+ column: x => x.ClientId,
|
|
|
+ principalTable: "Clients",
|
|
|
+ principalColumn: "Id",
|
|
|
+ onDelete: ReferentialAction.Cascade);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "ClientSecrets",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Description = table.Column<string>(maxLength: 2000, nullable: true),
|
|
|
+ Value = table.Column<string>(maxLength: 4000, nullable: false),
|
|
|
+ Expiration = table.Column<DateTime>(nullable: true),
|
|
|
+ Type = table.Column<string>(maxLength: 250, nullable: false),
|
|
|
+ Created = table.Column<DateTime>(nullable: false),
|
|
|
+ ClientId = table.Column<int>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_ClientSecrets", x => x.Id);
|
|
|
+ table.ForeignKey(
|
|
|
+ name: "FK_ClientSecrets_Clients_ClientId",
|
|
|
+ column: x => x.ClientId,
|
|
|
+ principalTable: "Clients",
|
|
|
+ principalColumn: "Id",
|
|
|
+ onDelete: ReferentialAction.Cascade);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "IdentityResourceClaims",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Type = table.Column<string>(maxLength: 200, nullable: false),
|
|
|
+ IdentityResourceId = table.Column<int>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_IdentityResourceClaims", x => x.Id);
|
|
|
+ table.ForeignKey(
|
|
|
+ name: "FK_IdentityResourceClaims_IdentityResources_IdentityResourceId",
|
|
|
+ column: x => x.IdentityResourceId,
|
|
|
+ principalTable: "IdentityResources",
|
|
|
+ principalColumn: "Id",
|
|
|
+ onDelete: ReferentialAction.Cascade);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateTable(
|
|
|
+ name: "IdentityResourceProperties",
|
|
|
+ columns: table => new
|
|
|
+ {
|
|
|
+ Id = table.Column<int>(nullable: false)
|
|
|
+ .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
|
|
+ Key = table.Column<string>(maxLength: 250, nullable: false),
|
|
|
+ Value = table.Column<string>(maxLength: 2000, nullable: false),
|
|
|
+ IdentityResourceId = table.Column<int>(nullable: false)
|
|
|
+ },
|
|
|
+ constraints: table =>
|
|
|
+ {
|
|
|
+ table.PrimaryKey("PK_IdentityResourceProperties", x => x.Id);
|
|
|
+ table.ForeignKey(
|
|
|
+ name: "FK_IdentityResourceProperties_IdentityResources_IdentityResourc~",
|
|
|
+ column: x => x.IdentityResourceId,
|
|
|
+ principalTable: "IdentityResources",
|
|
|
+ principalColumn: "Id",
|
|
|
+ onDelete: ReferentialAction.Cascade);
|
|
|
+ });
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_ApiResourceClaims_ApiResourceId",
|
|
|
+ table: "ApiResourceClaims",
|
|
|
+ column: "ApiResourceId");
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_ApiResourceProperties_ApiResourceId",
|
|
|
+ table: "ApiResourceProperties",
|
|
|
+ column: "ApiResourceId");
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_ApiResources_Name",
|
|
|
+ table: "ApiResources",
|
|
|
+ column: "Name",
|
|
|
+ unique: true);
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_ApiResourceScopes_ApiResourceId",
|
|
|
+ table: "ApiResourceScopes",
|
|
|
+ column: "ApiResourceId");
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_ApiResourceSecrets_ApiResourceId",
|
|
|
+ table: "ApiResourceSecrets",
|
|
|
+ column: "ApiResourceId");
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_ApiScopeClaims_ScopeId",
|
|
|
+ table: "ApiScopeClaims",
|
|
|
+ column: "ScopeId");
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_ApiScopeProperties_ScopeId",
|
|
|
+ table: "ApiScopeProperties",
|
|
|
+ column: "ScopeId");
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_ApiScopes_Name",
|
|
|
+ table: "ApiScopes",
|
|
|
+ column: "Name",
|
|
|
+ unique: true);
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_ClientClaims_ClientId",
|
|
|
+ table: "ClientClaims",
|
|
|
+ column: "ClientId");
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_ClientCorsOrigins_ClientId",
|
|
|
+ table: "ClientCorsOrigins",
|
|
|
+ column: "ClientId");
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_ClientGrantTypes_ClientId",
|
|
|
+ table: "ClientGrantTypes",
|
|
|
+ column: "ClientId");
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_ClientIdPRestrictions_ClientId",
|
|
|
+ table: "ClientIdPRestrictions",
|
|
|
+ column: "ClientId");
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_ClientPostLogoutRedirectUris_ClientId",
|
|
|
+ table: "ClientPostLogoutRedirectUris",
|
|
|
+ column: "ClientId");
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_ClientProperties_ClientId",
|
|
|
+ table: "ClientProperties",
|
|
|
+ column: "ClientId");
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_ClientRedirectUris_ClientId",
|
|
|
+ table: "ClientRedirectUris",
|
|
|
+ column: "ClientId");
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_Clients_ClientId",
|
|
|
+ table: "Clients",
|
|
|
+ column: "ClientId",
|
|
|
+ unique: true);
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_ClientScopes_ClientId",
|
|
|
+ table: "ClientScopes",
|
|
|
+ column: "ClientId");
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_ClientSecrets_ClientId",
|
|
|
+ table: "ClientSecrets",
|
|
|
+ column: "ClientId");
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_IdentityResourceClaims_IdentityResourceId",
|
|
|
+ table: "IdentityResourceClaims",
|
|
|
+ column: "IdentityResourceId");
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_IdentityResourceProperties_IdentityResourceId",
|
|
|
+ table: "IdentityResourceProperties",
|
|
|
+ column: "IdentityResourceId");
|
|
|
+
|
|
|
+ migrationBuilder.CreateIndex(
|
|
|
+ name: "IX_IdentityResources_Name",
|
|
|
+ table: "IdentityResources",
|
|
|
+ column: "Name",
|
|
|
+ unique: true);
|
|
|
+ }
|
|
|
+
|
|
|
+ protected override void Down(MigrationBuilder migrationBuilder)
|
|
|
+ {
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "ApiResourceClaims");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "ApiResourceProperties");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "ApiResourceScopes");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "ApiResourceSecrets");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "ApiScopeClaims");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "ApiScopeProperties");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "ClientClaims");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "ClientCorsOrigins");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "ClientGrantTypes");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "ClientIdPRestrictions");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "ClientPostLogoutRedirectUris");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "ClientProperties");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "ClientRedirectUris");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "ClientScopes");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "ClientSecrets");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "IdentityResourceClaims");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "IdentityResourceProperties");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "ApiResources");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "ApiScopes");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "Clients");
|
|
|
+
|
|
|
+ migrationBuilder.DropTable(
|
|
|
+ name: "IdentityResources");
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|