Arrange column length for oracle.

pull/4145/head
Halil İbrahim Kalkan 5 years ago
parent 5b17e18cdf
commit 6b743ce3a1

@ -65,7 +65,7 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
b.ConfigureByConvention();
b.HasKey(x => new { x.ClientId, x.GrantType });
b.HasKey(x => new {x.ClientId, x.GrantType});
b.Property(x => x.GrantType).HasMaxLength(ClientGrantTypeConsts.GrantTypeMaxLength).IsRequired();
});
@ -76,15 +76,16 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
b.ConfigureByConvention();
b.HasKey(x => new { x.ClientId, x.RedirectUri });
b.HasKey(x => new {x.ClientId, x.RedirectUri});
if (IsMySql(builder, options))
if (IsDatabaseProvider(builder, options, EfCoreDatabaseProvider.MySql))
{
b.Property(x => x.RedirectUri).HasMaxLength(300).IsRequired();
}
else
{
b.Property(x => x.RedirectUri).HasMaxLength(ClientRedirectUriConsts.RedirectUriMaxLength).IsRequired();
b.Property(x => x.RedirectUri).HasMaxLength(ClientRedirectUriConsts.RedirectUriMaxLength)
.IsRequired();
}
});
@ -94,15 +95,16 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
b.ConfigureByConvention();
b.HasKey(x => new { x.ClientId, x.PostLogoutRedirectUri });
b.HasKey(x => new {x.ClientId, x.PostLogoutRedirectUri});
if (IsMySql(builder, options))
if (IsDatabaseProvider(builder, options, EfCoreDatabaseProvider.MySql))
{
b.Property(x => x.PostLogoutRedirectUri).HasMaxLength(300).IsRequired();
}
else
{
b.Property(x => x.PostLogoutRedirectUri).HasMaxLength(ClientPostLogoutRedirectUriConsts.PostLogoutRedirectUriMaxLength).IsRequired();
b.Property(x => x.PostLogoutRedirectUri)
.HasMaxLength(ClientPostLogoutRedirectUriConsts.PostLogoutRedirectUriMaxLength).IsRequired();
}
});
@ -112,7 +114,7 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
b.ConfigureByConvention();
b.HasKey(x => new { x.ClientId, x.Scope });
b.HasKey(x => new {x.ClientId, x.Scope});
b.Property(x => x.Scope).HasMaxLength(ClientScopeConsts.ScopeMaxLength).IsRequired();
});
@ -123,11 +125,11 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
b.ConfigureByConvention();
b.HasKey(x => new { x.ClientId, x.Type, x.Value });
b.HasKey(x => new {x.ClientId, x.Type, x.Value});
b.Property(x => x.Type).HasMaxLength(SecretConsts.TypeMaxLength).IsRequired();
if (IsMySql(builder, options))
if (IsDatabaseProvider(builder, options, EfCoreDatabaseProvider.MySql, EfCoreDatabaseProvider.Oracle))
{
b.Property(x => x.Value).HasMaxLength(300).IsRequired();
}
@ -145,7 +147,7 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
b.ConfigureByConvention();
b.HasKey(x => new { x.ClientId, x.Type, x.Value });
b.HasKey(x => new {x.ClientId, x.Type, x.Value});
b.Property(x => x.Type).HasMaxLength(ClientClaimConsts.TypeMaxLength).IsRequired();
b.Property(x => x.Value).HasMaxLength(ClientClaimConsts.ValueMaxLength).IsRequired();
@ -157,7 +159,7 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
b.ConfigureByConvention();
b.HasKey(x => new { x.ClientId, x.Provider });
b.HasKey(x => new {x.ClientId, x.Provider});
b.Property(x => x.Provider).HasMaxLength(ClientIdPRestrictionConsts.ProviderMaxLength).IsRequired();
});
@ -168,7 +170,7 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
b.ConfigureByConvention();
b.HasKey(x => new { x.ClientId, x.Origin });
b.HasKey(x => new {x.ClientId, x.Origin});
b.Property(x => x.Origin).HasMaxLength(ClientCorsOriginConsts.OriginMaxLength).IsRequired();
});
@ -179,7 +181,7 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
b.ConfigureByConvention();
b.HasKey(x => new { x.ClientId, x.Key });
b.HasKey(x => new {x.ClientId, x.Key});
b.Property(x => x.Key).HasMaxLength(ClientPropertyConsts.KeyMaxLength).IsRequired();
b.Property(x => x.Value).HasMaxLength(ClientPropertyConsts.ValueMaxLength).IsRequired();
@ -197,7 +199,7 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
b.Property(x => x.ClientId).HasMaxLength(PersistedGrantConsts.ClientIdMaxLength).IsRequired();
b.Property(x => x.CreationTime).IsRequired();
if (IsMySql(builder, options))
if (IsDatabaseProvider(builder, options, EfCoreDatabaseProvider.MySql))
{
b.Property(x => x.Data).HasMaxLength(10000).IsRequired();
}
@ -208,7 +210,7 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
b.HasKey(x => x.Key); //TODO: What about Id!!!
b.HasIndex(x => new { x.SubjectId, x.ClientId, x.Type });
b.HasIndex(x => new {x.SubjectId, x.ClientId, x.Type});
b.HasIndex(x => x.Expiration);
});
@ -234,7 +236,7 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
b.ConfigureByConvention();
b.HasKey(x => new { x.IdentityResourceId, x.Type });
b.HasKey(x => new {x.IdentityResourceId, x.Type});
b.Property(x => x.Type).HasMaxLength(UserClaimConsts.TypeMaxLength).IsRequired();
});
@ -263,12 +265,12 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
b.ConfigureByConvention();
b.HasKey(x => new { x.ApiResourceId, x.Type, x.Value });
b.HasKey(x => new {x.ApiResourceId, x.Type, x.Value});
b.Property(x => x.Type).HasMaxLength(SecretConsts.TypeMaxLength).IsRequired();
b.Property(x => x.Description).HasMaxLength(SecretConsts.DescriptionMaxLength);
if (IsMySql(builder, options))
if (IsDatabaseProvider(builder, options, EfCoreDatabaseProvider.MySql, EfCoreDatabaseProvider.Oracle))
{
b.Property(x => x.Value).HasMaxLength(300).IsRequired();
}
@ -284,7 +286,7 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
b.ConfigureByConvention();
b.HasKey(x => new { x.ApiResourceId, x.Type });
b.HasKey(x => new {x.ApiResourceId, x.Type});
b.Property(x => x.Type).HasMaxLength(UserClaimConsts.TypeMaxLength).IsRequired();
});
@ -295,13 +297,13 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
b.ConfigureByConvention();
b.HasKey(x => new { x.ApiResourceId, x.Name });
b.HasKey(x => new {x.ApiResourceId, x.Name});
b.Property(x => x.Name).HasMaxLength(ApiScopeConsts.NameMaxLength).IsRequired();
b.Property(x => x.DisplayName).HasMaxLength(ApiScopeConsts.DisplayNameMaxLength);
b.Property(x => x.Description).HasMaxLength(ApiScopeConsts.DescriptionMaxLength);
b.HasMany(x => x.UserClaims).WithOne().HasForeignKey(x => new { x.ApiResourceId, x.Name }).IsRequired();
b.HasMany(x => x.UserClaims).WithOne().HasForeignKey(x => new {x.ApiResourceId, x.Name}).IsRequired();
});
builder.Entity<ApiScopeClaim>(b =>
@ -310,7 +312,7 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
b.ConfigureByConvention();
b.HasKey(x => new { x.ApiResourceId, x.Name, x.Type });
b.HasKey(x => new {x.ApiResourceId, x.Name, x.Type});
b.Property(x => x.Type).HasMaxLength(UserClaimConsts.TypeMaxLength).IsRequired();
b.Property(x => x.Name).HasMaxLength(ApiScopeConsts.NameMaxLength).IsRequired();
@ -329,18 +331,27 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore
b.Property(x => x.Expiration).IsRequired();
b.Property(x => x.Data).HasMaxLength(50000).IsRequired();
b.HasIndex(x => new { x.UserCode }).IsUnique();
b.HasIndex(x => new {x.UserCode}).IsUnique();
b.HasIndex(x => x.DeviceCode).IsUnique();
b.HasIndex(x => x.Expiration);
});
}
private static bool IsMySql(
private static bool IsDatabaseProvider(
ModelBuilder modelBuilder,
IdentityServerModelBuilderConfigurationOptions options)
IdentityServerModelBuilderConfigurationOptions options,
params EfCoreDatabaseProvider[] providers)
{
return options.DatabaseProvider == EfCoreDatabaseProvider.MySql ||
modelBuilder.IsUsingMySQL();
foreach (var provider in providers)
{
if (options.DatabaseProvider == EfCoreDatabaseProvider.MySql ||
modelBuilder.GetDatabaseProvider() == provider)
{
return true;
}
}
return false;
}
}
}
Loading…
Cancel
Save