From 110f015d38b48c7636d89dc31eacd01202134b47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 11 Oct 2019 14:57:41 +0300 Subject: [PATCH] Db table prefix revision for the audit log module #1429 --- .../Abp/AuditLogging/AbpAuditLoggingConsts.cs | 12 --------- .../AbpAuditLoggingDbProperties.cs | 13 +++++++++ .../AbpAuditLoggingDbContext.cs | 8 ++---- ...LoggingDbContextModelBuilderExtensions.cs} | 27 ++++++++++--------- ...LoggingModelBuilderConfigurationOptions.cs | 18 +++++++++++++ .../IAuditLoggingDbContext.cs | 2 +- ...AbpAuditLoggingMongoDbContextExtensions.cs | 6 +++-- .../MongoDB/AuditLoggingMongoDbContext.cs | 9 ++----- ...ngMongoModelBuilderConfigurationOptions.cs | 5 ++-- .../MongoDB/IAuditLoggingMongoDbContext.cs | 2 +- 10 files changed, 59 insertions(+), 43 deletions(-) delete mode 100644 modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/AbpAuditLoggingConsts.cs create mode 100644 modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/AbpAuditLoggingDbProperties.cs rename modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/{AbpAuditLoggingtDbContextModelBuilderExtensions.cs => AbpAuditLoggingDbContextModelBuilderExtensions.cs} (87%) create mode 100644 modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingModelBuilderConfigurationOptions.cs diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/AbpAuditLoggingConsts.cs b/modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/AbpAuditLoggingConsts.cs deleted file mode 100644 index 1213a99e5e..0000000000 --- a/modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/AbpAuditLoggingConsts.cs +++ /dev/null @@ -1,12 +0,0 @@ - -namespace Volo.Abp.AuditLogging -{ - public static class AbpAuditLoggingConsts - { - public const string DefaultDbTablePrefix = "Abp"; - - public const string DefaultDbSchema = null; - - public const string ConnectionStringName = "AbpAuditLogging"; - } -} diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/AbpAuditLoggingDbProperties.cs b/modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/AbpAuditLoggingDbProperties.cs new file mode 100644 index 0000000000..d1d1775721 --- /dev/null +++ b/modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/AbpAuditLoggingDbProperties.cs @@ -0,0 +1,13 @@ +using Volo.Abp.Data; + +namespace Volo.Abp.AuditLogging +{ + public static class AbpAuditLoggingDbProperties + { + public static string DbTablePrefix { get; } = AbpCommonDbProperties.DbTablePrefix; + + public static string DbSchema { get; } = AbpCommonDbProperties.DbSchema; + + public const string ConnectionStringName = "AbpAuditLogging"; + } +} diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingDbContext.cs b/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingDbContext.cs index 047d8cc4f9..880f6b996a 100644 --- a/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingDbContext.cs +++ b/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingDbContext.cs @@ -4,13 +4,9 @@ using Volo.Abp.EntityFrameworkCore; namespace Volo.Abp.AuditLogging.EntityFrameworkCore { - [ConnectionStringName(AbpAuditLoggingConsts.ConnectionStringName)] + [ConnectionStringName(AbpAuditLoggingDbProperties.ConnectionStringName)] public class AbpAuditLoggingDbContext : AbpDbContext, IAuditLoggingDbContext { - public static string TablePrefix { get; set; } = AbpAuditLoggingConsts.DefaultDbTablePrefix; - - public static string Schema { get; set; } = AbpAuditLoggingConsts.DefaultDbSchema; - public DbSet AuditLogs { get; set; } public AbpAuditLoggingDbContext(DbContextOptions options) @@ -23,7 +19,7 @@ namespace Volo.Abp.AuditLogging.EntityFrameworkCore { base.OnModelCreating(builder); - builder.ConfigureAuditLogging(TablePrefix, Schema); + builder.ConfigureAuditLogging(); } } } diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingtDbContextModelBuilderExtensions.cs b/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingDbContextModelBuilderExtensions.cs similarity index 87% rename from modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingtDbContextModelBuilderExtensions.cs rename to modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingDbContextModelBuilderExtensions.cs index bc8a8d2e52..23b4cb3dbe 100644 --- a/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingtDbContextModelBuilderExtensions.cs +++ b/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingDbContextModelBuilderExtensions.cs @@ -1,26 +1,29 @@ -using JetBrains.Annotations; +using System; +using JetBrains.Annotations; using Microsoft.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore.Modeling; +using Volo.Abp.Identity.EntityFrameworkCore; namespace Volo.Abp.AuditLogging.EntityFrameworkCore { - public static class AbpAuditLoggingtDbContextModelBuilderExtensions + public static class AbpAuditLoggingDbContextModelBuilderExtensions { public static void ConfigureAuditLogging( [NotNull] this ModelBuilder builder, - [CanBeNull] string tablePrefix = AbpAuditLoggingConsts.DefaultDbTablePrefix, - [CanBeNull] string schema = AbpAuditLoggingConsts.DefaultDbSchema) + Action optionsAction = null) { Check.NotNull(builder, nameof(builder)); - if (tablePrefix == null) - { - tablePrefix = ""; - } + var options = new AbpAuditLoggingModelBuilderConfigurationOptions( + AbpAuditLoggingDbProperties.DbTablePrefix, + AbpAuditLoggingDbProperties.DbSchema + ); + + optionsAction?.Invoke(options); builder.Entity(b => { - b.ToTable(tablePrefix + "AuditLogs", schema); + b.ToTable(options.TablePrefix + "AuditLogs", options.Schema); b.ConfigureExtraProperties(); @@ -51,7 +54,7 @@ namespace Volo.Abp.AuditLogging.EntityFrameworkCore builder.Entity(b => { - b.ToTable(tablePrefix + "AuditLogActions", schema); + b.ToTable(options.TablePrefix + "AuditLogActions", options.Schema); b.ConfigureExtraProperties(); @@ -68,7 +71,7 @@ namespace Volo.Abp.AuditLogging.EntityFrameworkCore builder.Entity(b => { - b.ToTable(tablePrefix + "EntityChanges", schema); + b.ToTable(options.TablePrefix + "EntityChanges", options.Schema); b.ConfigureExtraProperties(); @@ -87,7 +90,7 @@ namespace Volo.Abp.AuditLogging.EntityFrameworkCore builder.Entity(b => { - b.ToTable(tablePrefix + "EntityPropertyChanges", schema); + b.ToTable(options.TablePrefix + "EntityPropertyChanges", options.Schema); b.Property(x => x.NewValue).HasMaxLength(EntityPropertyChangeConsts.MaxNewValueLength).HasColumnName(nameof(EntityPropertyChange.NewValue)); b.Property(x => x.PropertyName).HasMaxLength(EntityPropertyChangeConsts.MaxPropertyNameLength).IsRequired().HasColumnName(nameof(EntityPropertyChange.PropertyName)); diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingModelBuilderConfigurationOptions.cs b/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingModelBuilderConfigurationOptions.cs new file mode 100644 index 0000000000..1518afe236 --- /dev/null +++ b/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingModelBuilderConfigurationOptions.cs @@ -0,0 +1,18 @@ +using JetBrains.Annotations; +using Volo.Abp.EntityFrameworkCore.Modeling; + +namespace Volo.Abp.Identity.EntityFrameworkCore +{ + public class AbpAuditLoggingModelBuilderConfigurationOptions : ModelBuilderConfigurationOptions + { + public AbpAuditLoggingModelBuilderConfigurationOptions( + [NotNull] string tablePrefix, + [CanBeNull] string schema) + : base( + tablePrefix, + schema) + { + + } + } +} \ No newline at end of file diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/IAuditLoggingDbContext.cs b/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/IAuditLoggingDbContext.cs index 94312acbb1..684c5fc55f 100644 --- a/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/IAuditLoggingDbContext.cs +++ b/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/IAuditLoggingDbContext.cs @@ -4,7 +4,7 @@ using Volo.Abp.EntityFrameworkCore; namespace Volo.Abp.AuditLogging.EntityFrameworkCore { - [ConnectionStringName(AbpAuditLoggingConsts.ConnectionStringName)] + [ConnectionStringName(AbpAuditLoggingDbProperties.ConnectionStringName)] public interface IAuditLoggingDbContext : IEfCoreDbContext { DbSet AuditLogs { get; set; } diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AbpAuditLoggingMongoDbContextExtensions.cs b/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AbpAuditLoggingMongoDbContextExtensions.cs index de2a2479a6..40411691cb 100644 --- a/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AbpAuditLoggingMongoDbContextExtensions.cs +++ b/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AbpAuditLoggingMongoDbContextExtensions.cs @@ -7,11 +7,13 @@ namespace Volo.Abp.AuditLogging.MongoDB { public static void ConfigureAuditLogging( this IMongoModelBuilder builder, - Action optionsAction = null) + Action optionsAction = null) { Check.NotNull(builder, nameof(builder)); - var options = new AuditLoggingMongoModelBuilderConfigurationOptions(); + var options = new AuditLoggingMongoModelBuilderConfigurationOptions( + AbpAuditLoggingDbProperties.DbTablePrefix + ); optionsAction?.Invoke(options); diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AuditLoggingMongoDbContext.cs b/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AuditLoggingMongoDbContext.cs index e8a8945973..5f76a82ff4 100644 --- a/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AuditLoggingMongoDbContext.cs +++ b/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AuditLoggingMongoDbContext.cs @@ -4,21 +4,16 @@ using Volo.Abp.MongoDB; namespace Volo.Abp.AuditLogging.MongoDB { - [ConnectionStringName(AbpAuditLoggingConsts.ConnectionStringName)] + [ConnectionStringName(AbpAuditLoggingDbProperties.ConnectionStringName)] public class AuditLoggingMongoDbContext : AbpMongoDbContext, IAuditLoggingMongoDbContext { - public static string CollectionPrefix { get; set; } = AbpAuditLoggingConsts.DefaultDbTablePrefix; - public IMongoCollection AuditLogs => Collection(); protected override void CreateModel(IMongoModelBuilder modelBuilder) { base.CreateModel(modelBuilder); - modelBuilder.ConfigureAuditLogging(options => - { - options.CollectionPrefix = CollectionPrefix; - }); + modelBuilder.ConfigureAuditLogging(); } } } diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AuditLoggingMongoModelBuilderConfigurationOptions.cs b/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AuditLoggingMongoModelBuilderConfigurationOptions.cs index 3f31028b5a..d3fadc3e28 100644 --- a/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AuditLoggingMongoModelBuilderConfigurationOptions.cs +++ b/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AuditLoggingMongoModelBuilderConfigurationOptions.cs @@ -5,8 +5,9 @@ namespace Volo.Abp.AuditLogging.MongoDB { public class AuditLoggingMongoModelBuilderConfigurationOptions : MongoModelBuilderConfigurationOptions { - public AuditLoggingMongoModelBuilderConfigurationOptions([NotNull] string tablePrefix = AbpAuditLoggingConsts.DefaultDbTablePrefix) - : base(tablePrefix) + public AuditLoggingMongoModelBuilderConfigurationOptions( + [NotNull] string collectionPrefix = "") + : base(collectionPrefix) { } } diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/IAuditLoggingMongoDbContext.cs b/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/IAuditLoggingMongoDbContext.cs index 685fff3a52..2edd1cb003 100644 --- a/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/IAuditLoggingMongoDbContext.cs +++ b/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/IAuditLoggingMongoDbContext.cs @@ -4,7 +4,7 @@ using Volo.Abp.MongoDB; namespace Volo.Abp.AuditLogging.MongoDB { - [ConnectionStringName(AbpAuditLoggingConsts.ConnectionStringName)] + [ConnectionStringName(AbpAuditLoggingDbProperties.ConnectionStringName)] public interface IAuditLoggingMongoDbContext : IAbpMongoDbContext { IMongoCollection AuditLogs { get; }