Browse Source

Db table prefix revision for the audit log module #1429

pull/1904/head
Halil İbrahim Kalkan 7 years ago
parent
commit
110f015d38
  1. 12
      modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/AbpAuditLoggingConsts.cs
  2. 13
      modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/AbpAuditLoggingDbProperties.cs
  3. 8
      modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingDbContext.cs
  4. 27
      modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingDbContextModelBuilderExtensions.cs
  5. 18
      modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingModelBuilderConfigurationOptions.cs
  6. 2
      modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/IAuditLoggingDbContext.cs
  7. 6
      modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AbpAuditLoggingMongoDbContextExtensions.cs
  8. 9
      modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AuditLoggingMongoDbContext.cs
  9. 5
      modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/AuditLoggingMongoModelBuilderConfigurationOptions.cs
  10. 2
      modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/IAuditLoggingMongoDbContext.cs

12
modules/audit-logging/src/Volo.Abp.AuditLogging.Domain/Volo/Abp/AuditLogging/AbpAuditLoggingConsts.cs

@ -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";
}
}

13
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";
}
}

8
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 namespace Volo.Abp.AuditLogging.EntityFrameworkCore
{ {
[ConnectionStringName(AbpAuditLoggingConsts.ConnectionStringName)] [ConnectionStringName(AbpAuditLoggingDbProperties.ConnectionStringName)]
public class AbpAuditLoggingDbContext : AbpDbContext<AbpAuditLoggingDbContext>, IAuditLoggingDbContext public class AbpAuditLoggingDbContext : AbpDbContext<AbpAuditLoggingDbContext>, IAuditLoggingDbContext
{ {
public static string TablePrefix { get; set; } = AbpAuditLoggingConsts.DefaultDbTablePrefix;
public static string Schema { get; set; } = AbpAuditLoggingConsts.DefaultDbSchema;
public DbSet<AuditLog> AuditLogs { get; set; } public DbSet<AuditLog> AuditLogs { get; set; }
public AbpAuditLoggingDbContext(DbContextOptions<AbpAuditLoggingDbContext> options) public AbpAuditLoggingDbContext(DbContextOptions<AbpAuditLoggingDbContext> options)
@ -23,7 +19,7 @@ namespace Volo.Abp.AuditLogging.EntityFrameworkCore
{ {
base.OnModelCreating(builder); base.OnModelCreating(builder);
builder.ConfigureAuditLogging(TablePrefix, Schema); builder.ConfigureAuditLogging();
} }
} }
} }

27
modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/AbpAuditLoggingtDbContextModelBuilderExtensions.cs → 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 Microsoft.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore.Modeling; using Volo.Abp.EntityFrameworkCore.Modeling;
using Volo.Abp.Identity.EntityFrameworkCore;
namespace Volo.Abp.AuditLogging.EntityFrameworkCore namespace Volo.Abp.AuditLogging.EntityFrameworkCore
{ {
public static class AbpAuditLoggingtDbContextModelBuilderExtensions public static class AbpAuditLoggingDbContextModelBuilderExtensions
{ {
public static void ConfigureAuditLogging( public static void ConfigureAuditLogging(
[NotNull] this ModelBuilder builder, [NotNull] this ModelBuilder builder,
[CanBeNull] string tablePrefix = AbpAuditLoggingConsts.DefaultDbTablePrefix, Action<AbpAuditLoggingModelBuilderConfigurationOptions> optionsAction = null)
[CanBeNull] string schema = AbpAuditLoggingConsts.DefaultDbSchema)
{ {
Check.NotNull(builder, nameof(builder)); Check.NotNull(builder, nameof(builder));
if (tablePrefix == null) var options = new AbpAuditLoggingModelBuilderConfigurationOptions(
{ AbpAuditLoggingDbProperties.DbTablePrefix,
tablePrefix = ""; AbpAuditLoggingDbProperties.DbSchema
} );
optionsAction?.Invoke(options);
builder.Entity<AuditLog>(b => builder.Entity<AuditLog>(b =>
{ {
b.ToTable(tablePrefix + "AuditLogs", schema); b.ToTable(options.TablePrefix + "AuditLogs", options.Schema);
b.ConfigureExtraProperties(); b.ConfigureExtraProperties();
@ -51,7 +54,7 @@ namespace Volo.Abp.AuditLogging.EntityFrameworkCore
builder.Entity<AuditLogAction>(b => builder.Entity<AuditLogAction>(b =>
{ {
b.ToTable(tablePrefix + "AuditLogActions", schema); b.ToTable(options.TablePrefix + "AuditLogActions", options.Schema);
b.ConfigureExtraProperties(); b.ConfigureExtraProperties();
@ -68,7 +71,7 @@ namespace Volo.Abp.AuditLogging.EntityFrameworkCore
builder.Entity<EntityChange>(b => builder.Entity<EntityChange>(b =>
{ {
b.ToTable(tablePrefix + "EntityChanges", schema); b.ToTable(options.TablePrefix + "EntityChanges", options.Schema);
b.ConfigureExtraProperties(); b.ConfigureExtraProperties();
@ -87,7 +90,7 @@ namespace Volo.Abp.AuditLogging.EntityFrameworkCore
builder.Entity<EntityPropertyChange>(b => builder.Entity<EntityPropertyChange>(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.NewValue).HasMaxLength(EntityPropertyChangeConsts.MaxNewValueLength).HasColumnName(nameof(EntityPropertyChange.NewValue));
b.Property(x => x.PropertyName).HasMaxLength(EntityPropertyChangeConsts.MaxPropertyNameLength).IsRequired().HasColumnName(nameof(EntityPropertyChange.PropertyName)); b.Property(x => x.PropertyName).HasMaxLength(EntityPropertyChangeConsts.MaxPropertyNameLength).IsRequired().HasColumnName(nameof(EntityPropertyChange.PropertyName));

18
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)
{
}
}
}

2
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 namespace Volo.Abp.AuditLogging.EntityFrameworkCore
{ {
[ConnectionStringName(AbpAuditLoggingConsts.ConnectionStringName)] [ConnectionStringName(AbpAuditLoggingDbProperties.ConnectionStringName)]
public interface IAuditLoggingDbContext : IEfCoreDbContext public interface IAuditLoggingDbContext : IEfCoreDbContext
{ {
DbSet<AuditLog> AuditLogs { get; set; } DbSet<AuditLog> AuditLogs { get; set; }

6
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( public static void ConfigureAuditLogging(
this IMongoModelBuilder builder, this IMongoModelBuilder builder,
Action<MongoModelBuilderConfigurationOptions> optionsAction = null) Action<AuditLoggingMongoModelBuilderConfigurationOptions> optionsAction = null)
{ {
Check.NotNull(builder, nameof(builder)); Check.NotNull(builder, nameof(builder));
var options = new AuditLoggingMongoModelBuilderConfigurationOptions(); var options = new AuditLoggingMongoModelBuilderConfigurationOptions(
AbpAuditLoggingDbProperties.DbTablePrefix
);
optionsAction?.Invoke(options); optionsAction?.Invoke(options);

9
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 namespace Volo.Abp.AuditLogging.MongoDB
{ {
[ConnectionStringName(AbpAuditLoggingConsts.ConnectionStringName)] [ConnectionStringName(AbpAuditLoggingDbProperties.ConnectionStringName)]
public class AuditLoggingMongoDbContext : AbpMongoDbContext, IAuditLoggingMongoDbContext public class AuditLoggingMongoDbContext : AbpMongoDbContext, IAuditLoggingMongoDbContext
{ {
public static string CollectionPrefix { get; set; } = AbpAuditLoggingConsts.DefaultDbTablePrefix;
public IMongoCollection<AuditLog> AuditLogs => Collection<AuditLog>(); public IMongoCollection<AuditLog> AuditLogs => Collection<AuditLog>();
protected override void CreateModel(IMongoModelBuilder modelBuilder) protected override void CreateModel(IMongoModelBuilder modelBuilder)
{ {
base.CreateModel(modelBuilder); base.CreateModel(modelBuilder);
modelBuilder.ConfigureAuditLogging(options => modelBuilder.ConfigureAuditLogging();
{
options.CollectionPrefix = CollectionPrefix;
});
} }
} }
} }

5
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 class AuditLoggingMongoModelBuilderConfigurationOptions : MongoModelBuilderConfigurationOptions
{ {
public AuditLoggingMongoModelBuilderConfigurationOptions([NotNull] string tablePrefix = AbpAuditLoggingConsts.DefaultDbTablePrefix) public AuditLoggingMongoModelBuilderConfigurationOptions(
: base(tablePrefix) [NotNull] string collectionPrefix = "")
: base(collectionPrefix)
{ {
} }
} }

2
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 namespace Volo.Abp.AuditLogging.MongoDB
{ {
[ConnectionStringName(AbpAuditLoggingConsts.ConnectionStringName)] [ConnectionStringName(AbpAuditLoggingDbProperties.ConnectionStringName)]
public interface IAuditLoggingMongoDbContext : IAbpMongoDbContext public interface IAuditLoggingMongoDbContext : IAbpMongoDbContext
{ {
IMongoCollection<AuditLog> AuditLogs { get; } IMongoCollection<AuditLog> AuditLogs { get; }

Loading…
Cancel
Save