Browse Source

setting-management revisit db prefix

pull/1904/head
Halil İbrahim Kalkan 7 years ago
parent
commit
0c710c6dce
  1. 2
      modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs
  2. 11
      modules/setting-management/src/Volo.Abp.SettingManagement.Domain/Volo/Abp/SettingManagement/AbpSettingManagementConsts.cs
  3. 13
      modules/setting-management/src/Volo.Abp.SettingManagement.Domain/Volo/Abp/SettingManagement/AbpSettingManagementDbProperties.cs
  4. 2
      modules/setting-management/src/Volo.Abp.SettingManagement.EntityFrameworkCore/Volo/Abp/SettingManagement/EntityFrameworkCore/ISettingManagementDbContext.cs
  5. 8
      modules/setting-management/src/Volo.Abp.SettingManagement.EntityFrameworkCore/Volo/Abp/SettingManagement/EntityFrameworkCore/SettingManagementDbContext.cs
  6. 32
      modules/setting-management/src/Volo.Abp.SettingManagement.EntityFrameworkCore/Volo/Abp/SettingManagement/EntityFrameworkCore/SettingManagementDbContextModelBuilderExtensions.cs
  7. 2
      modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/ISettingManagementMongoDbContext.cs
  8. 9
      modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/SettingManagementMongoDbContext.cs
  9. 6
      modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/SettingManagementMongoDbContextExtensions.cs
  10. 3
      modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/SettingManagementMongoModelBuilderConfigurationOptions.cs

2
modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs

@ -10,7 +10,7 @@ namespace Volo.Abp.Identity.EntityFrameworkCore
{ {
public static void ConfigureIdentity( public static void ConfigureIdentity(
[NotNull] this ModelBuilder builder, [NotNull] this ModelBuilder builder,
Action<IdentityModelBuilderConfigurationOptions> optionsAction = null) [CanBeNull] Action<IdentityModelBuilderConfigurationOptions> optionsAction = null)
{ {
Check.NotNull(builder, nameof(builder)); Check.NotNull(builder, nameof(builder));

11
modules/setting-management/src/Volo.Abp.SettingManagement.Domain/Volo/Abp/SettingManagement/AbpSettingManagementConsts.cs

@ -1,11 +0,0 @@
namespace Volo.Abp.SettingManagement
{
public static class AbpSettingManagementConsts
{
public const string DefaultDbTablePrefix = "Abp";
public const string DefaultDbSchema = null;
public const string ConnectionStringName = "AbpSettingManagement";
}
}

13
modules/setting-management/src/Volo.Abp.SettingManagement.Domain/Volo/Abp/SettingManagement/AbpSettingManagementDbProperties.cs

@ -0,0 +1,13 @@
using Volo.Abp.Data;
namespace Volo.Abp.SettingManagement
{
public static class AbpSettingManagementDbProperties
{
public static string DbTablePrefix { get; } = AbpCommonDbProperties.DbTablePrefix;
public static string DbSchema { get; } = AbpCommonDbProperties.DbSchema;
public const string ConnectionStringName = "AbpSettingManagement";
}
}

2
modules/setting-management/src/Volo.Abp.SettingManagement.EntityFrameworkCore/Volo/Abp/SettingManagement/EntityFrameworkCore/ISettingManagementDbContext.cs

@ -4,7 +4,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace Volo.Abp.SettingManagement.EntityFrameworkCore namespace Volo.Abp.SettingManagement.EntityFrameworkCore
{ {
[ConnectionStringName(AbpSettingManagementConsts.ConnectionStringName)] [ConnectionStringName(AbpSettingManagementDbProperties.ConnectionStringName)]
public interface ISettingManagementDbContext : IEfCoreDbContext public interface ISettingManagementDbContext : IEfCoreDbContext
{ {
DbSet<Setting> Settings { get; set; } DbSet<Setting> Settings { get; set; }

8
modules/setting-management/src/Volo.Abp.SettingManagement.EntityFrameworkCore/Volo/Abp/SettingManagement/EntityFrameworkCore/SettingManagementDbContext.cs

@ -4,13 +4,9 @@ using Volo.Abp.EntityFrameworkCore;
namespace Volo.Abp.SettingManagement.EntityFrameworkCore namespace Volo.Abp.SettingManagement.EntityFrameworkCore
{ {
[ConnectionStringName(AbpSettingManagementConsts.ConnectionStringName)] [ConnectionStringName(AbpSettingManagementDbProperties.ConnectionStringName)]
public class SettingManagementDbContext : AbpDbContext<SettingManagementDbContext>, ISettingManagementDbContext public class SettingManagementDbContext : AbpDbContext<SettingManagementDbContext>, ISettingManagementDbContext
{ {
public static string TablePrefix { get; set; } = AbpSettingManagementConsts.DefaultDbTablePrefix;
public static string Schema { get; set; } = AbpSettingManagementConsts.DefaultDbSchema;
public DbSet<Setting> Settings { get; set; } public DbSet<Setting> Settings { get; set; }
public SettingManagementDbContext(DbContextOptions<SettingManagementDbContext> options) public SettingManagementDbContext(DbContextOptions<SettingManagementDbContext> options)
@ -23,7 +19,7 @@ namespace Volo.Abp.SettingManagement.EntityFrameworkCore
{ {
base.OnModelCreating(builder); base.OnModelCreating(builder);
builder.ConfigureSettingManagement(TablePrefix, Schema); builder.ConfigureSettingManagement();
} }
} }
} }

32
modules/setting-management/src/Volo.Abp.SettingManagement.EntityFrameworkCore/Volo/Abp/SettingManagement/EntityFrameworkCore/SettingManagementDbContextModelBuilderExtensions.cs

@ -1,26 +1,42 @@
using JetBrains.Annotations; using System;
using JetBrains.Annotations;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore.Modeling;
namespace Volo.Abp.SettingManagement.EntityFrameworkCore namespace Volo.Abp.SettingManagement.EntityFrameworkCore
{ {
public class SettingManagementModelBuilderConfigurationOptions : ModelBuilderConfigurationOptions
{
public SettingManagementModelBuilderConfigurationOptions(
[NotNull] string tablePrefix,
[CanBeNull] string schema)
: base(
tablePrefix,
schema)
{
}
}
public static class SettingManagementDbContextModelBuilderExtensions public static class SettingManagementDbContextModelBuilderExtensions
{ {
//TODO: Instead of getting parameters, get a action of SettingManagementModelBuilderConfigurationOptions like other modules //TODO: Instead of getting parameters, get a action of SettingManagementModelBuilderConfigurationOptions like other modules
public static void ConfigureSettingManagement( public static void ConfigureSettingManagement(
[NotNull] this ModelBuilder builder, [NotNull] this ModelBuilder builder,
[CanBeNull] string tablePrefix = AbpSettingManagementConsts.DefaultDbTablePrefix, [CanBeNull] Action<SettingManagementModelBuilderConfigurationOptions> optionsAction = null)
[CanBeNull] string schema = AbpSettingManagementConsts.DefaultDbSchema)
{ {
Check.NotNull(builder, nameof(builder)); Check.NotNull(builder, nameof(builder));
if (tablePrefix == null) var options = new SettingManagementModelBuilderConfigurationOptions(
{ AbpSettingManagementDbProperties.DbTablePrefix,
tablePrefix = ""; AbpSettingManagementDbProperties.DbSchema
} );
optionsAction?.Invoke(options);
builder.Entity<Setting>(b => builder.Entity<Setting>(b =>
{ {
b.ToTable(tablePrefix + "Settings", schema); b.ToTable(options.TablePrefix + "Settings", options.Schema);
b.Property(x => x.Name).HasMaxLength(SettingConsts.MaxNameLength).IsRequired(); b.Property(x => x.Name).HasMaxLength(SettingConsts.MaxNameLength).IsRequired();
b.Property(x => x.Value).HasMaxLength(SettingConsts.MaxValueLength).IsRequired(); b.Property(x => x.Value).HasMaxLength(SettingConsts.MaxValueLength).IsRequired();

2
modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/ISettingManagementMongoDbContext.cs

@ -4,7 +4,7 @@ using Volo.Abp.MongoDB;
namespace Volo.Abp.SettingManagement.MongoDB namespace Volo.Abp.SettingManagement.MongoDB
{ {
[ConnectionStringName(AbpSettingManagementConsts.ConnectionStringName)] [ConnectionStringName(AbpSettingManagementDbProperties.ConnectionStringName)]
public interface ISettingManagementMongoDbContext : IAbpMongoDbContext public interface ISettingManagementMongoDbContext : IAbpMongoDbContext
{ {
IMongoCollection<Setting> Settings { get; } IMongoCollection<Setting> Settings { get; }

9
modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/SettingManagementMongoDbContext.cs

@ -4,21 +4,16 @@ using Volo.Abp.MongoDB;
namespace Volo.Abp.SettingManagement.MongoDB namespace Volo.Abp.SettingManagement.MongoDB
{ {
[ConnectionStringName(AbpSettingManagementConsts.ConnectionStringName)] [ConnectionStringName(AbpSettingManagementDbProperties.ConnectionStringName)]
public class SettingManagementMongoDbContext : AbpMongoDbContext, ISettingManagementMongoDbContext public class SettingManagementMongoDbContext : AbpMongoDbContext, ISettingManagementMongoDbContext
{ {
public static string CollectionPrefix { get; set; } = AbpSettingManagementConsts.DefaultDbTablePrefix;
public IMongoCollection<Setting> Settings => Collection<Setting>(); public IMongoCollection<Setting> Settings => Collection<Setting>();
protected override void CreateModel(IMongoModelBuilder modelBuilder) protected override void CreateModel(IMongoModelBuilder modelBuilder)
{ {
base.CreateModel(modelBuilder); base.CreateModel(modelBuilder);
modelBuilder.ConfigureSettingManagement(options => modelBuilder.ConfigureSettingManagement();
{
options.CollectionPrefix = CollectionPrefix;
});
} }
} }
} }

6
modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/SettingManagementMongoDbContextExtensions.cs

@ -7,11 +7,13 @@ namespace Volo.Abp.SettingManagement.MongoDB
{ {
public static void ConfigureSettingManagement( public static void ConfigureSettingManagement(
this IMongoModelBuilder builder, this IMongoModelBuilder builder,
Action<MongoModelBuilderConfigurationOptions> optionsAction = null) Action<SettingManagementMongoModelBuilderConfigurationOptions> optionsAction = null)
{ {
Check.NotNull(builder, nameof(builder)); Check.NotNull(builder, nameof(builder));
var options = new SettingManagementMongoModelBuilderConfigurationOptions(); var options = new SettingManagementMongoModelBuilderConfigurationOptions(
AbpSettingManagementDbProperties.DbTablePrefix
);
optionsAction?.Invoke(options); optionsAction?.Invoke(options);

3
modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/SettingManagementMongoModelBuilderConfigurationOptions.cs

@ -5,7 +5,8 @@ namespace Volo.Abp.SettingManagement.MongoDB
{ {
public class SettingManagementMongoModelBuilderConfigurationOptions : MongoModelBuilderConfigurationOptions public class SettingManagementMongoModelBuilderConfigurationOptions : MongoModelBuilderConfigurationOptions
{ {
public SettingManagementMongoModelBuilderConfigurationOptions([NotNull] string tablePrefix = AbpSettingManagementConsts.DefaultDbTablePrefix) public SettingManagementMongoModelBuilderConfigurationOptions(
[NotNull] string tablePrefix = "")
: base(tablePrefix) : base(tablePrefix)
{ {
} }

Loading…
Cancel
Save