Browse Source

tenant-management module db prefix revision

pull/1904/head
Halil İbrahim Kalkan 7 years ago
parent
commit
103532a9ea
  1. 11
      modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/AbpTenantManagementConsts.cs
  2. 13
      modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/AbpTenantManagementDbProperties.cs
  3. 18
      modules/tenant-management/src/Volo.Abp.TenantManagement.EntityFrameworkCore/Volo/Abp/TenantManagement/EntityFrameworkCore/AbpTenantManagementDbContextModelCreatingExtensions.cs
  4. 18
      modules/tenant-management/src/Volo.Abp.TenantManagement.EntityFrameworkCore/Volo/Abp/TenantManagement/EntityFrameworkCore/AbpTenantManagementModelBuilderConfigurationOptions.cs
  5. 2
      modules/tenant-management/src/Volo.Abp.TenantManagement.EntityFrameworkCore/Volo/Abp/TenantManagement/EntityFrameworkCore/ITenantManagementDbContext.cs
  6. 8
      modules/tenant-management/src/Volo.Abp.TenantManagement.EntityFrameworkCore/Volo/Abp/TenantManagement/EntityFrameworkCore/TenantManagementDbContext.cs
  7. 4
      modules/tenant-management/src/Volo.Abp.TenantManagement.MongoDB/Volo/Abp/TenantManagement/MongoDb/AbpTenantManagementMongoDbContextExtensions.cs
  8. 2
      modules/tenant-management/src/Volo.Abp.TenantManagement.MongoDB/Volo/Abp/TenantManagement/MongoDb/ITenantManagementMongoDbContext.cs
  9. 9
      modules/tenant-management/src/Volo.Abp.TenantManagement.MongoDB/Volo/Abp/TenantManagement/MongoDb/TenantManagementMongoDbContext.cs
  10. 3
      modules/tenant-management/src/Volo.Abp.TenantManagement.MongoDB/Volo/Abp/TenantManagement/MongoDb/TenantManagementMongoModelBuilderConfigurationOptions.cs

11
modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/AbpTenantManagementConsts.cs

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

13
modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/AbpTenantManagementDbProperties.cs

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

18
modules/tenant-management/src/Volo.Abp.TenantManagement.EntityFrameworkCore/Volo/Abp/TenantManagement/EntityFrameworkCore/AbpTenantManagementDbContextModelCreatingExtensions.cs

@ -1,3 +1,4 @@
using System;
using JetBrains.Annotations; using JetBrains.Annotations;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore.Modeling; using Volo.Abp.EntityFrameworkCore.Modeling;
@ -8,19 +9,20 @@ namespace Volo.Abp.TenantManagement.EntityFrameworkCore
{ {
public static void ConfigureTenantManagement( public static void ConfigureTenantManagement(
this ModelBuilder builder, this ModelBuilder builder,
[CanBeNull] string tablePrefix = AbpTenantManagementConsts.DefaultDbTablePrefix, [CanBeNull] Action<AbpTenantManagementModelBuilderConfigurationOptions> optionsAction = null)
[CanBeNull] string schema = AbpTenantManagementConsts.DefaultDbSchema)
{ {
Check.NotNull(builder, nameof(builder)); Check.NotNull(builder, nameof(builder));
if (tablePrefix == null) var options = new AbpTenantManagementModelBuilderConfigurationOptions(
{ AbpTenantManagementDbProperties.DbTablePrefix,
tablePrefix = ""; AbpTenantManagementDbProperties.DbSchema
} );
optionsAction?.Invoke(options);
builder.Entity<Tenant>(b => builder.Entity<Tenant>(b =>
{ {
b.ToTable(tablePrefix + "Tenants", schema); b.ToTable(options.TablePrefix + "Tenants", options.Schema);
b.ConfigureFullAuditedAggregateRoot(); b.ConfigureFullAuditedAggregateRoot();
@ -33,7 +35,7 @@ namespace Volo.Abp.TenantManagement.EntityFrameworkCore
builder.Entity<TenantConnectionString>(b => builder.Entity<TenantConnectionString>(b =>
{ {
b.ToTable(tablePrefix + "TenantConnectionStrings", schema); b.ToTable(options.TablePrefix + "TenantConnectionStrings", options.Schema);
b.HasKey(x => new { x.TenantId, x.Name }); b.HasKey(x => new { x.TenantId, x.Name });

18
modules/tenant-management/src/Volo.Abp.TenantManagement.EntityFrameworkCore/Volo/Abp/TenantManagement/EntityFrameworkCore/AbpTenantManagementModelBuilderConfigurationOptions.cs

@ -0,0 +1,18 @@
using JetBrains.Annotations;
using Volo.Abp.EntityFrameworkCore.Modeling;
namespace Volo.Abp.TenantManagement.EntityFrameworkCore
{
public class AbpTenantManagementModelBuilderConfigurationOptions : ModelBuilderConfigurationOptions
{
public AbpTenantManagementModelBuilderConfigurationOptions(
[NotNull] string tablePrefix,
[CanBeNull] string schema)
: base(
tablePrefix,
schema)
{
}
}
}

2
modules/tenant-management/src/Volo.Abp.TenantManagement.EntityFrameworkCore/Volo/Abp/TenantManagement/EntityFrameworkCore/ITenantManagementDbContext.cs

@ -4,7 +4,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace Volo.Abp.TenantManagement.EntityFrameworkCore namespace Volo.Abp.TenantManagement.EntityFrameworkCore
{ {
[ConnectionStringName(AbpTenantManagementConsts.ConnectionStringName)] [ConnectionStringName(AbpTenantManagementDbProperties.ConnectionStringName)]
public interface ITenantManagementDbContext : IEfCoreDbContext public interface ITenantManagementDbContext : IEfCoreDbContext
{ {
DbSet<Tenant> Tenants { get; set; } DbSet<Tenant> Tenants { get; set; }

8
modules/tenant-management/src/Volo.Abp.TenantManagement.EntityFrameworkCore/Volo/Abp/TenantManagement/EntityFrameworkCore/TenantManagementDbContext.cs

@ -4,13 +4,9 @@ using Volo.Abp.EntityFrameworkCore;
namespace Volo.Abp.TenantManagement.EntityFrameworkCore namespace Volo.Abp.TenantManagement.EntityFrameworkCore
{ {
[ConnectionStringName(AbpTenantManagementConsts.ConnectionStringName)] [ConnectionStringName(AbpTenantManagementDbProperties.ConnectionStringName)]
public class TenantManagementDbContext : AbpDbContext<TenantManagementDbContext>, ITenantManagementDbContext public class TenantManagementDbContext : AbpDbContext<TenantManagementDbContext>, ITenantManagementDbContext
{ {
public static string TablePrefix { get; set; } = AbpTenantManagementConsts.DefaultDbTablePrefix;
public static string Schema { get; set; } = AbpTenantManagementConsts.DefaultDbSchema;
public DbSet<Tenant> Tenants { get; set; } public DbSet<Tenant> Tenants { get; set; }
public DbSet<TenantConnectionString> TenantConnectionStrings { get; set; } public DbSet<TenantConnectionString> TenantConnectionStrings { get; set; }
@ -24,7 +20,7 @@ namespace Volo.Abp.TenantManagement.EntityFrameworkCore
{ {
base.OnModelCreating(builder); base.OnModelCreating(builder);
builder.ConfigureTenantManagement(TablePrefix, Schema); builder.ConfigureTenantManagement();
} }
} }
} }

4
modules/tenant-management/src/Volo.Abp.TenantManagement.MongoDB/Volo/Abp/TenantManagement/MongoDb/AbpTenantManagementMongoDbContextExtensions.cs

@ -11,7 +11,9 @@ namespace Volo.Abp.TenantManagement.MongoDB
{ {
Check.NotNull(builder, nameof(builder)); Check.NotNull(builder, nameof(builder));
var options = new TenantManagementMongoModelBuilderConfigurationOptions(); var options = new TenantManagementMongoModelBuilderConfigurationOptions(
AbpTenantManagementDbProperties.DbTablePrefix
);
optionsAction?.Invoke(options); optionsAction?.Invoke(options);

2
modules/tenant-management/src/Volo.Abp.TenantManagement.MongoDB/Volo/Abp/TenantManagement/MongoDb/ITenantManagementMongoDbContext.cs

@ -4,7 +4,7 @@ using Volo.Abp.MongoDB;
namespace Volo.Abp.TenantManagement.MongoDB namespace Volo.Abp.TenantManagement.MongoDB
{ {
[ConnectionStringName(AbpTenantManagementConsts.ConnectionStringName)] [ConnectionStringName(AbpTenantManagementDbProperties.ConnectionStringName)]
public interface ITenantManagementMongoDbContext : IAbpMongoDbContext public interface ITenantManagementMongoDbContext : IAbpMongoDbContext
{ {
IMongoCollection<Tenant> Tenants { get; } IMongoCollection<Tenant> Tenants { get; }

9
modules/tenant-management/src/Volo.Abp.TenantManagement.MongoDB/Volo/Abp/TenantManagement/MongoDb/TenantManagementMongoDbContext.cs

@ -4,21 +4,16 @@ using Volo.Abp.MongoDB;
namespace Volo.Abp.TenantManagement.MongoDB namespace Volo.Abp.TenantManagement.MongoDB
{ {
[ConnectionStringName(AbpTenantManagementConsts.ConnectionStringName)] [ConnectionStringName(AbpTenantManagementDbProperties.ConnectionStringName)]
public class TenantManagementMongoDbContext : AbpMongoDbContext, ITenantManagementMongoDbContext public class TenantManagementMongoDbContext : AbpMongoDbContext, ITenantManagementMongoDbContext
{ {
public static string CollectionPrefix { get; set; } = AbpTenantManagementConsts.DefaultDbTablePrefix;
public IMongoCollection<Tenant> Tenants => Collection<Tenant>(); public IMongoCollection<Tenant> Tenants => Collection<Tenant>();
protected override void CreateModel(IMongoModelBuilder modelBuilder) protected override void CreateModel(IMongoModelBuilder modelBuilder)
{ {
base.CreateModel(modelBuilder); base.CreateModel(modelBuilder);
modelBuilder.ConfigureTenantManagement(options => modelBuilder.ConfigureTenantManagement();
{
options.CollectionPrefix = CollectionPrefix;
});
} }
} }
} }

3
modules/tenant-management/src/Volo.Abp.TenantManagement.MongoDB/Volo/Abp/TenantManagement/MongoDb/TenantManagementMongoModelBuilderConfigurationOptions.cs

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

Loading…
Cancel
Save