diff --git a/samples/BasicAspNetCoreApplication/BasicAspNetCoreApplication/AppModule.cs b/samples/BasicAspNetCoreApplication/BasicAspNetCoreApplication/AppModule.cs
index dd29111a5d..9343740fc5 100644
--- a/samples/BasicAspNetCoreApplication/BasicAspNetCoreApplication/AppModule.cs
+++ b/samples/BasicAspNetCoreApplication/BasicAspNetCoreApplication/AppModule.cs
@@ -2,7 +2,6 @@
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;
-using Volo.Abp.AspNetCore.Modularity;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Autofac;
using Volo.Abp.Modularity;
diff --git a/samples/BasicAspNetCoreApplication/BasicAspNetCoreApplication/BasicAspNetCoreApplication.csproj b/samples/BasicAspNetCoreApplication/BasicAspNetCoreApplication/BasicAspNetCoreApplication.csproj
index 8aeb4809a2..07a1ba541a 100644
--- a/samples/BasicAspNetCoreApplication/BasicAspNetCoreApplication/BasicAspNetCoreApplication.csproj
+++ b/samples/BasicAspNetCoreApplication/BasicAspNetCoreApplication/BasicAspNetCoreApplication.csproj
@@ -5,9 +5,9 @@
-
-
-
+
+
+
diff --git a/samples/BasicConsoleApplication/AbpConsoleDemo/AbpConsoleDemo.csproj b/samples/BasicConsoleApplication/AbpConsoleDemo/AbpConsoleDemo.csproj
index b2557ef085..ca84a4353b 100644
--- a/samples/BasicConsoleApplication/AbpConsoleDemo/AbpConsoleDemo.csproj
+++ b/samples/BasicConsoleApplication/AbpConsoleDemo/AbpConsoleDemo.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/BookStore/Acme.BookStore.sln b/samples/BookStore/Acme.BookStore.sln
index b0a02d2dde..74836646a2 100644
--- a/samples/BookStore/Acme.BookStore.sln
+++ b/samples/BookStore/Acme.BookStore.sln
@@ -19,7 +19,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Acme.BookStore.Application.
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Acme.BookStore.Web.Tests", "test\Acme.BookStore.Web.Tests\Acme.BookStore.Web.Tests.csproj", "{5F1B28C6-8D0C-4155-92D0-252F7EA5F674}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Acme.BookStore.ConsoleApiClient", "test\Acme.BookStore.ConsoleApiClient\Acme.BookStore.ConsoleApiClient.csproj", "{3DED9AA7-1FC4-435D-9934-BCD37B43F744}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Acme.BookStore.EntityFrameworkCore.DbMigrations", "src\Acme.BookStore.EntityFrameworkCore.DbMigrations\Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj", "{0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -51,10 +51,10 @@ Global
{5F1B28C6-8D0C-4155-92D0-252F7EA5F674}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5F1B28C6-8D0C-4155-92D0-252F7EA5F674}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5F1B28C6-8D0C-4155-92D0-252F7EA5F674}.Release|Any CPU.Build.0 = Release|Any CPU
- {3DED9AA7-1FC4-435D-9934-BCD37B43F744}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3DED9AA7-1FC4-435D-9934-BCD37B43F744}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3DED9AA7-1FC4-435D-9934-BCD37B43F744}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3DED9AA7-1FC4-435D-9934-BCD37B43F744}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -66,7 +66,7 @@ Global
{068855E8-9240-4F1A-910B-CF825794513B} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
{50B2631D-129C-47B3-A587-029CCD6099BC} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
{5F1B28C6-8D0C-4155-92D0-252F7EA5F674} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
- {3DED9AA7-1FC4-435D-9934-BCD37B43F744} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
+ {0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F}
diff --git a/samples/BookStore/common.props b/samples/BookStore/common.props
new file mode 100644
index 0000000000..60d14017ca
--- /dev/null
+++ b/samples/BookStore/common.props
@@ -0,0 +1,7 @@
+
+
+ latest
+ 0.15.0
+ $(NoWarn);CS1591
+
+
\ No newline at end of file
diff --git a/samples/BookStore/src/Acme.BookStore.Application/Acme.BookStore.Application.csproj b/samples/BookStore/src/Acme.BookStore.Application/Acme.BookStore.Application.csproj
index c4c7a91bd8..054f5d42c3 100644
--- a/samples/BookStore/src/Acme.BookStore.Application/Acme.BookStore.Application.csproj
+++ b/samples/BookStore/src/Acme.BookStore.Application/Acme.BookStore.Application.csproj
@@ -1,5 +1,7 @@
+
+
netcoreapp2.2
Acme.BookStore
@@ -7,8 +9,8 @@
-
-
+
+
diff --git a/samples/BookStore/src/Acme.BookStore.Application/BookAppService.cs b/samples/BookStore/src/Acme.BookStore.Application/BookAppService.cs
index 9534ab7f12..1d5e844f30 100644
--- a/samples/BookStore/src/Acme.BookStore.Application/BookAppService.cs
+++ b/samples/BookStore/src/Acme.BookStore.Application/BookAppService.cs
@@ -1,5 +1,4 @@
using System;
-using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;
@@ -16,19 +15,5 @@ namespace Acme.BookStore
{
}
-
- public override async Task UpdateAsync(Guid id, CreateUpdateBookDto input)
- {
- await CheckUpdatePolicyAsync();
-
- var entity = await GetEntityByIdAsync(id);
-
- //TODO: Check if input has id different than given id and normalize if it's default value, throw ex otherwise
-
- MapToEntity(input, entity);
- await CurrentUnitOfWork.SaveChangesAsync();
-
- return MapToEntityDto(entity);
- }
}
}
\ No newline at end of file
diff --git a/samples/BookStore/src/Acme.BookStore.Application/BookStoreApplicationModule.cs b/samples/BookStore/src/Acme.BookStore.Application/BookStoreApplicationModule.cs
index 55b344b1ea..14787c14d3 100644
--- a/samples/BookStore/src/Acme.BookStore.Application/BookStoreApplicationModule.cs
+++ b/samples/BookStore/src/Acme.BookStore.Application/BookStoreApplicationModule.cs
@@ -10,7 +10,8 @@ namespace Acme.BookStore
[DependsOn(
typeof(BookStoreDomainModule),
typeof(AbpIdentityApplicationModule),
- typeof(AbpPermissionManagementApplicationModule))]
+ typeof(AbpPermissionManagementApplicationModule)
+ )]
public class BookStoreApplicationModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
diff --git a/samples/BookStore/src/Acme.BookStore.Application/Permissions/BookStorePermissions.cs b/samples/BookStore/src/Acme.BookStore.Application/Permissions/BookStorePermissions.cs
index b05c4883bd..b1ec575904 100644
--- a/samples/BookStore/src/Acme.BookStore.Application/Permissions/BookStorePermissions.cs
+++ b/samples/BookStore/src/Acme.BookStore.Application/Permissions/BookStorePermissions.cs
@@ -1,4 +1,6 @@
-namespace Acme.BookStore.Permissions
+using System;
+
+namespace Acme.BookStore.Permissions
{
public static class BookStorePermissions
{
@@ -6,5 +8,11 @@
//Add your own permission names. Example:
//public const string MyPermission1 = GroupName + ".MyPermission1";
+
+ public static string[] GetAll()
+ {
+ //Return an array of all permissions
+ return Array.Empty();
+ }
}
}
\ No newline at end of file
diff --git a/samples/BookStore/src/Acme.BookStore.Domain/Acme.BookStore.Domain.csproj b/samples/BookStore/src/Acme.BookStore.Domain/Acme.BookStore.Domain.csproj
index 02e24618ee..8b6a3de06f 100644
--- a/samples/BookStore/src/Acme.BookStore.Domain/Acme.BookStore.Domain.csproj
+++ b/samples/BookStore/src/Acme.BookStore.Domain/Acme.BookStore.Domain.csproj
@@ -1,18 +1,23 @@
+
+
netcoreapp2.2
Acme.BookStore
-
-
+
+
+
+
+
-
+
diff --git a/samples/BookStore/src/Acme.BookStore.Domain/Book.cs b/samples/BookStore/src/Acme.BookStore.Domain/Book.cs
index 12984a1896..bca7c49533 100644
--- a/samples/BookStore/src/Acme.BookStore.Domain/Book.cs
+++ b/samples/BookStore/src/Acme.BookStore.Domain/Book.cs
@@ -5,7 +5,7 @@ using Volo.Abp.Domain.Entities.Auditing;
namespace Acme.BookStore
{
- [Table("Books")]
+ [Table(BookStoreConsts.DbTablePrefix+"Books")]
public class Book : AuditedAggregateRoot
{
[Required]
diff --git a/samples/BookStore/src/Acme.BookStore.Domain/BookStoreConsts.cs b/samples/BookStore/src/Acme.BookStore.Domain/BookStoreConsts.cs
new file mode 100644
index 0000000000..96556e1b85
--- /dev/null
+++ b/samples/BookStore/src/Acme.BookStore.Domain/BookStoreConsts.cs
@@ -0,0 +1,9 @@
+namespace Acme.BookStore
+{
+ public static class BookStoreConsts
+ {
+ public const string DbTablePrefix = "App";
+
+ public const string DbSchema = null;
+ }
+}
diff --git a/samples/BookStore/src/Acme.BookStore.Domain/BookStoreDomainModule.cs b/samples/BookStore/src/Acme.BookStore.Domain/BookStoreDomainModule.cs
index abd062308b..bda604f2aa 100644
--- a/samples/BookStore/src/Acme.BookStore.Domain/BookStoreDomainModule.cs
+++ b/samples/BookStore/src/Acme.BookStore.Domain/BookStoreDomainModule.cs
@@ -1,26 +1,30 @@
-using Microsoft.Extensions.DependencyInjection;
-using Acme.BookStore.Localization.BookStore;
-using Acme.BookStore.Settings;
+using Acme.BookStore.Localization.BookStore;
+using Volo.Abp.Auditing;
+using Volo.Abp.AuditLogging;
+using Volo.Abp.BackgroundJobs;
using Volo.Abp.Identity;
using Volo.Abp.Localization;
using Volo.Abp.Localization.Resources.AbpValidation;
using Volo.Abp.Modularity;
using Volo.Abp.PermissionManagement.Identity;
-using Volo.Abp.Settings;
using Volo.Abp.VirtualFileSystem;
namespace Acme.BookStore
{
[DependsOn(
typeof(AbpIdentityDomainModule),
- typeof(AbpPermissionManagementDomainIdentityModule))]
+ typeof(AbpPermissionManagementDomainIdentityModule),
+ typeof(AbpAuditingModule),
+ typeof(BackgroundJobsDomainModule),
+ typeof(AbpAuditLoggingDomainModule)
+ )]
public class BookStoreDomainModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure(options =>
{
- options.FileSets.AddEmbedded();
+ options.FileSets.AddEmbedded("Acme.BookStore");
});
Configure(options =>
diff --git a/samples/BookStore/src/Acme.BookStore.Domain/Localization/BookStore/pt-BR.json b/samples/BookStore/src/Acme.BookStore.Domain/Localization/BookStore/pt-BR.json
new file mode 100644
index 0000000000..8c818a07af
--- /dev/null
+++ b/samples/BookStore/src/Acme.BookStore.Domain/Localization/BookStore/pt-BR.json
@@ -0,0 +1,8 @@
+{
+ "culture": "pt-BR",
+ "texts": {
+ "Menu:Home": "Principal",
+ "Welcome": "Seja bem-vindo!",
+ "LongWelcomeMessage": "Bem-vindo a esta aplicação. Este é um projeto inicial baseado no ABP framework. Para mais informações, visite abp.io."
+ }
+}
\ No newline at end of file
diff --git a/samples/BookStore/src/Acme.BookStore.Domain/Users/AppUser.cs b/samples/BookStore/src/Acme.BookStore.Domain/Users/AppUser.cs
new file mode 100644
index 0000000000..c4ccf28076
--- /dev/null
+++ b/samples/BookStore/src/Acme.BookStore.Domain/Users/AppUser.cs
@@ -0,0 +1,53 @@
+using System;
+using Volo.Abp.Domain.Entities.Auditing;
+using Volo.Abp.Users;
+
+namespace Acme.BookStore.Users
+{
+ /* This entity shares the same table/collection ("AbpUsers" by default) with the
+ * IdentityUser entity of the Identity module.
+ *
+ * - You can define your custom properties into this class.
+ * - You never create or delete this entity, becase it is Identity module's job.
+ * - You can query users from database with this entity.
+ * - You can update values of your custom properties.
+ */
+ public class AppUser : FullAuditedAggregateRoot, IUser
+ {
+ #region Base properties
+
+ /* These properties are shared with the IdentityUser entity of the Identity module.
+ * Do not change these properties through this class. Instead, use Identity module
+ * services (like IdentityUserManager) to change them.
+ * So, this properties are designed as read only!
+ */
+
+ public virtual Guid? TenantId { get; private set; }
+
+ public virtual string UserName { get; private set; }
+
+ public virtual string Name { get; private set; }
+
+ public virtual string Surname { get; private set; }
+
+ public virtual string Email { get; private set; }
+
+ public virtual bool EmailConfirmed { get; private set; }
+
+ public virtual string PhoneNumber { get; private set; }
+
+ public virtual bool PhoneNumberConfirmed { get; private set; }
+
+ #endregion
+
+ /* Add your own properties here. Example:
+ *
+ * public virtual string MyProperty { get; set; }
+ */
+
+ private AppUser()
+ {
+
+ }
+ }
+}
diff --git a/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj b/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj
new file mode 100644
index 0000000000..3b0318a10c
--- /dev/null
+++ b/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj
@@ -0,0 +1,14 @@
+
+
+
+
+
+ netcoreapp2.2
+ Acme.BookStore
+
+
+
+
+
+
+
diff --git a/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/BookStoreMigrationsDbContext.cs b/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/BookStoreMigrationsDbContext.cs
new file mode 100644
index 0000000000..7c6f947b53
--- /dev/null
+++ b/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/BookStoreMigrationsDbContext.cs
@@ -0,0 +1,45 @@
+using Microsoft.EntityFrameworkCore;
+using Volo.Abp.AuditLogging.EntityFrameworkCore;
+using Volo.Abp.BackgroundJobs.EntityFrameworkCore;
+using Volo.Abp.EntityFrameworkCore;
+using Volo.Abp.Identity;
+using Volo.Abp.Identity.EntityFrameworkCore;
+using Volo.Abp.PermissionManagement.EntityFrameworkCore;
+using Volo.Abp.SettingManagement.EntityFrameworkCore;
+
+namespace Acme.BookStore.EntityFrameworkCore
+{
+ public class BookStoreMigrationsDbContext : AbpDbContext
+ {
+ public DbSet Book { get; set; }
+ public BookStoreMigrationsDbContext(DbContextOptions options)
+ : base(options)
+ {
+
+ }
+
+ protected override void OnModelCreating(ModelBuilder builder)
+ {
+ base.OnModelCreating(builder);
+
+ /* Include modules to your migration db context */
+
+ builder.ConfigurePermissionManagement();
+ builder.ConfigureSettingManagement();
+ builder.ConfigureBackgroundJobs();
+ builder.ConfigureAuditLogging();
+ builder.ConfigureIdentity();
+
+ /* Configure customizations for entities from the modules included */
+
+ builder.Entity(b =>
+ {
+ b.ConfigureCustomUserProperties();
+ });
+
+ /* Configure your own tables/entities inside the ConfigureBookStore method */
+
+ builder.ConfigureBookStore();
+ }
+ }
+}
\ No newline at end of file
diff --git a/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreDbContextFactory.cs b/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/BookStoreMigrationsDbContextFactory.cs
similarity index 59%
rename from samples/BookStore/src/Acme.BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreDbContextFactory.cs
rename to samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/BookStoreMigrationsDbContextFactory.cs
index 43056714e8..bc1006d729 100644
--- a/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore/EntityFrameworkCore/BookStoreDbContextFactory.cs
+++ b/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/BookStoreMigrationsDbContextFactory.cs
@@ -5,22 +5,22 @@ using Microsoft.Extensions.Configuration;
namespace Acme.BookStore.EntityFrameworkCore
{
- public class BookStoreDbContextFactory : IDesignTimeDbContextFactory
+ public class BookStoreMigrationsDbContextFactory : IDesignTimeDbContextFactory
{
- public BookStoreDbContext CreateDbContext(string[] args)
+ public BookStoreMigrationsDbContext CreateDbContext(string[] args)
{
var configuration = BuildConfiguration();
- var builder = new DbContextOptionsBuilder()
+ var builder = new DbContextOptionsBuilder()
.UseSqlServer(configuration.GetConnectionString("Default"));
- return new BookStoreDbContext(builder.Options);
+ return new BookStoreMigrationsDbContext(builder.Options);
}
private static IConfigurationRoot BuildConfiguration()
{
var builder = new ConfigurationBuilder()
- .SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), "../Acme.BookStore.Web/"))
+ .SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false);
return builder.Build();
diff --git a/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore/Migrations/20190111135616_ABP_v0_11_Upgrade.Designer.cs b/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Migrations/20190320072839_Initial.Designer.cs
similarity index 61%
rename from samples/BookStore/src/Acme.BookStore.EntityFrameworkCore/Migrations/20190111135616_ABP_v0_11_Upgrade.Designer.cs
rename to samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Migrations/20190320072839_Initial.Designer.cs
index 457e197cdc..d8125b930f 100644
--- a/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore/Migrations/20190111135616_ABP_v0_11_Upgrade.Designer.cs
+++ b/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Migrations/20190320072839_Initial.Designer.cs
@@ -1,17 +1,17 @@
//
using System;
-using Acme.BookStore.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Acme.BookStore.EntityFrameworkCore;
namespace Acme.BookStore.Migrations
{
- [DbContext(typeof(BookStoreDbContext))]
- [Migration("20190111135616_ABP_v0_11_Upgrade")]
- partial class ABP_v0_11_Upgrade
+ [DbContext(typeof(BookStoreMigrationsDbContext))]
+ [Migration("20190320072839_Initial")]
+ partial class Initial
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
@@ -21,43 +21,244 @@ namespace Acme.BookStore.Migrations
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
- modelBuilder.Entity("Acme.BookStore.Book", b =>
+ modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd();
- b.Property("ConcurrencyStamp")
- .IsConcurrencyToken()
- .HasColumnName("ConcurrencyStamp");
+ b.Property("ApplicationName")
+ .HasColumnName("ApplicationName")
+ .HasMaxLength(96);
+
+ b.Property("BrowserInfo")
+ .HasColumnName("BrowserInfo")
+ .HasMaxLength(512);
+
+ b.Property("ClientId")
+ .HasColumnName("ClientId")
+ .HasMaxLength(64);
+
+ b.Property("ClientIpAddress")
+ .HasColumnName("ClientIpAddress")
+ .HasMaxLength(64);
+
+ b.Property("ClientName")
+ .HasColumnName("ClientName")
+ .HasMaxLength(128);
+
+ b.Property("Comments")
+ .HasColumnName("Comments")
+ .HasMaxLength(256);
+
+ b.Property("ConcurrencyStamp");
+
+ b.Property("CorrelationId")
+ .HasColumnName("CorrelationId")
+ .HasMaxLength(64);
+
+ b.Property("Exceptions")
+ .HasColumnName("Exceptions")
+ .HasMaxLength(4000);
+
+ b.Property("ExecutionDuration")
+ .HasColumnName("ExecutionDuration");
+
+ b.Property("ExecutionTime");
+
+ b.Property("ExtraProperties")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("HttpMethod")
+ .HasColumnName("HttpMethod")
+ .HasMaxLength(16);
+
+ b.Property("HttpStatusCode")
+ .HasColumnName("HttpStatusCode");
+
+ b.Property("ImpersonatorTenantId")
+ .HasColumnName("ImpersonatorTenantId");
+
+ b.Property("ImpersonatorUserId")
+ .HasColumnName("ImpersonatorUserId");
+
+ b.Property("TenantId")
+ .HasColumnName("TenantId");
+
+ b.Property("Url")
+ .HasColumnName("Url")
+ .HasMaxLength(256);
+
+ b.Property("UserId")
+ .HasColumnName("UserId");
+
+ b.Property("UserName")
+ .HasColumnName("UserName")
+ .HasMaxLength(256);
+
+ b.HasKey("Id");
+
+ b.HasIndex("TenantId", "ExecutionTime");
+
+ b.HasIndex("TenantId", "UserId", "ExecutionTime");
+
+ b.ToTable("AbpAuditLogs");
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("AuditLogId")
+ .HasColumnName("AuditLogId");
+
+ b.Property("ExecutionDuration")
+ .HasColumnName("ExecutionDuration");
+
+ b.Property("ExecutionTime")
+ .HasColumnName("ExecutionTime");
+
+ b.Property("ExtraProperties")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("MethodName")
+ .HasColumnName("MethodName")
+ .HasMaxLength(128);
+
+ b.Property("Parameters")
+ .HasColumnName("Parameters")
+ .HasMaxLength(2000);
+
+ b.Property("ServiceName")
+ .HasColumnName("ServiceName")
+ .HasMaxLength(256);
+
+ b.Property("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AuditLogId");
+
+ b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime");
+
+ b.ToTable("AbpAuditLogActions");
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("AuditLogId")
+ .HasColumnName("AuditLogId");
+
+ b.Property("ChangeTime")
+ .HasColumnName("ChangeTime");
+
+ b.Property("ChangeType")
+ .HasColumnName("ChangeType");
+
+ b.Property("EntityId")
+ .IsRequired()
+ .HasColumnName("EntityId")
+ .HasMaxLength(128);
+
+ b.Property("EntityTypeFullName")
+ .IsRequired()
+ .HasColumnName("EntityTypeFullName")
+ .HasMaxLength(128);
+
+ b.Property("ExtraProperties")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("TenantId")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AuditLogId");
+
+ b.HasIndex("TenantId", "EntityTypeFullName", "EntityId");
+
+ b.ToTable("AbpEntityChanges");
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("EntityChangeId");
+
+ b.Property("NewValue")
+ .HasColumnName("NewValue")
+ .HasMaxLength(512);
+
+ b.Property("OriginalValue")
+ .HasColumnName("OriginalValue")
+ .HasMaxLength(512);
+
+ b.Property("PropertyName")
+ .IsRequired()
+ .HasColumnName("PropertyName")
+ .HasMaxLength(128);
+
+ b.Property("PropertyTypeFullName")
+ .IsRequired()
+ .HasColumnName("PropertyTypeFullName")
+ .HasMaxLength(64);
+
+ b.Property("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("EntityChangeId");
+
+ b.ToTable("AbpEntityPropertyChanges");
+ });
+
+ modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("ConcurrencyStamp");
b.Property("CreationTime")
.HasColumnName("CreationTime");
- b.Property("CreatorId")
- .HasColumnName("CreatorId");
-
b.Property("ExtraProperties")
.HasColumnName("ExtraProperties");
- b.Property("LastModificationTime")
- .HasColumnName("LastModificationTime");
+ b.Property("IsAbandoned")
+ .ValueGeneratedOnAdd()
+ .HasDefaultValue(false);
- b.Property("LastModifierId")
- .HasColumnName("LastModifierId");
+ b.Property("JobArgs")
+ .IsRequired()
+ .HasMaxLength(1048576);
- b.Property("Name")
+ b.Property("JobName")
.IsRequired()
.HasMaxLength(128);
- b.Property("Price");
+ b.Property("LastTryTime");
- b.Property("PublishDate");
+ b.Property("NextTryTime");
- b.Property("Type");
+ b.Property("Priority")
+ .ValueGeneratedOnAdd()
+ .HasDefaultValue((byte)15);
+
+ b.Property("TryCount")
+ .ValueGeneratedOnAdd()
+ .HasDefaultValue((short)0);
b.HasKey("Id");
- b.ToTable("Books");
+ b.HasIndex("IsAbandoned", "NextTryTime");
+
+ b.ToTable("AbpBackgroundJobs");
});
modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b =>
@@ -410,6 +611,30 @@ namespace Acme.BookStore.Migrations
b.ToTable("AbpSettings");
});
+ modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b =>
+ {
+ b.HasOne("Volo.Abp.AuditLogging.AuditLog")
+ .WithMany("Actions")
+ .HasForeignKey("AuditLogId")
+ .OnDelete(DeleteBehavior.Cascade);
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b =>
+ {
+ b.HasOne("Volo.Abp.AuditLogging.AuditLog")
+ .WithMany("EntityChanges")
+ .HasForeignKey("AuditLogId")
+ .OnDelete(DeleteBehavior.Cascade);
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b =>
+ {
+ b.HasOne("Volo.Abp.AuditLogging.EntityChange")
+ .WithMany("PropertyChanges")
+ .HasForeignKey("EntityChangeId")
+ .OnDelete(DeleteBehavior.Cascade);
+ });
+
modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b =>
{
b.HasOne("Volo.Abp.Identity.IdentityRole")
diff --git a/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore/Migrations/20181204060805_Initial.cs b/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Migrations/20190320072839_Initial.cs
similarity index 59%
rename from samples/BookStore/src/Acme.BookStore.EntityFrameworkCore/Migrations/20181204060805_Initial.cs
rename to samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Migrations/20190320072839_Initial.cs
index 237dc43192..a5c7439243 100644
--- a/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore/Migrations/20181204060805_Initial.cs
+++ b/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Migrations/20190320072839_Initial.cs
@@ -7,11 +7,65 @@ namespace Acme.BookStore.Migrations
{
protected override void Up(MigrationBuilder migrationBuilder)
{
+ migrationBuilder.CreateTable(
+ name: "AbpAuditLogs",
+ columns: table => new
+ {
+ Id = table.Column(nullable: false),
+ ExtraProperties = table.Column(nullable: true),
+ ConcurrencyStamp = table.Column(nullable: true),
+ ApplicationName = table.Column(maxLength: 96, nullable: true),
+ UserId = table.Column(nullable: true),
+ UserName = table.Column(maxLength: 256, nullable: true),
+ TenantId = table.Column(nullable: true),
+ ImpersonatorUserId = table.Column(nullable: true),
+ ImpersonatorTenantId = table.Column(nullable: true),
+ ExecutionTime = table.Column(nullable: false),
+ ExecutionDuration = table.Column(nullable: false),
+ ClientIpAddress = table.Column(maxLength: 64, nullable: true),
+ ClientName = table.Column(maxLength: 128, nullable: true),
+ ClientId = table.Column(maxLength: 64, nullable: true),
+ CorrelationId = table.Column(maxLength: 64, nullable: true),
+ BrowserInfo = table.Column(maxLength: 512, nullable: true),
+ HttpMethod = table.Column(maxLength: 16, nullable: true),
+ Url = table.Column(maxLength: 256, nullable: true),
+ Exceptions = table.Column(maxLength: 4000, nullable: true),
+ Comments = table.Column(maxLength: 256, nullable: true),
+ HttpStatusCode = table.Column(nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AbpAuditLogs", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "AbpBackgroundJobs",
+ columns: table => new
+ {
+ Id = table.Column(nullable: false),
+ ExtraProperties = table.Column(nullable: true),
+ ConcurrencyStamp = table.Column(nullable: true),
+ JobName = table.Column(maxLength: 128, nullable: false),
+ JobArgs = table.Column(maxLength: 1048576, nullable: false),
+ TryCount = table.Column(nullable: false, defaultValue: (short)0),
+ CreationTime = table.Column(nullable: false),
+ NextTryTime = table.Column(nullable: false),
+ LastTryTime = table.Column(nullable: true),
+ IsAbandoned = table.Column(nullable: false, defaultValue: false),
+ Priority = table.Column(nullable: false, defaultValue: (byte)15)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AbpBackgroundJobs", x => x.Id);
+ });
+
migrationBuilder.CreateTable(
name: "AbpClaimTypes",
columns: table => new
{
Id = table.Column(nullable: false),
+ ExtraProperties = table.Column(nullable: true),
+ ConcurrencyStamp = table.Column(maxLength: 256, nullable: false),
Name = table.Column(maxLength: 256, nullable: false),
Required = table.Column(nullable: false),
IsStatic = table.Column(nullable: false),
@@ -45,10 +99,11 @@ namespace Acme.BookStore.Migrations
columns: table => new
{
Id = table.Column(nullable: false),
+ ExtraProperties = table.Column(nullable: true),
+ ConcurrencyStamp = table.Column(maxLength: 256, nullable: false),
TenantId = table.Column(nullable: true),
Name = table.Column(maxLength: 256, nullable: false),
NormalizedName = table.Column(maxLength: 256, nullable: false),
- ConcurrencyStamp = table.Column(nullable: true),
IsDefault = table.Column(nullable: false),
IsStatic = table.Column(nullable: false),
IsPublic = table.Column(nullable: false)
@@ -78,11 +133,13 @@ namespace Acme.BookStore.Migrations
columns: table => new
{
Id = table.Column(nullable: false),
+ ExtraProperties = table.Column(nullable: true),
+ ConcurrencyStamp = table.Column(nullable: true),
CreationTime = table.Column(nullable: false),
CreatorId = table.Column(nullable: true),
LastModificationTime = table.Column(nullable: true),
LastModifierId = table.Column(nullable: true),
- IsDeleted = table.Column(nullable: false),
+ IsDeleted = table.Column(nullable: false, defaultValue: false),
DeleterId = table.Column(nullable: true),
DeletionTime = table.Column(nullable: true),
TenantId = table.Column(nullable: true),
@@ -95,20 +152,67 @@ namespace Acme.BookStore.Migrations
EmailConfirmed = table.Column(nullable: false, defaultValue: false),
PasswordHash = table.Column(maxLength: 256, nullable: true),
SecurityStamp = table.Column(maxLength: 256, nullable: false),
- ConcurrencyStamp = table.Column(maxLength: 256, nullable: false),
PhoneNumber = table.Column(maxLength: 16, nullable: true),
PhoneNumberConfirmed = table.Column(nullable: false, defaultValue: false),
TwoFactorEnabled = table.Column(nullable: false, defaultValue: false),
LockoutEnd = table.Column(nullable: true),
LockoutEnabled = table.Column(nullable: false, defaultValue: false),
- AccessFailedCount = table.Column(nullable: false, defaultValue: 0),
- ExtraProperties = table.Column(nullable: true)
+ AccessFailedCount = table.Column(nullable: false, defaultValue: 0)
},
constraints: table =>
{
table.PrimaryKey("PK_AbpUsers", x => x.Id);
});
+ migrationBuilder.CreateTable(
+ name: "AbpAuditLogActions",
+ columns: table => new
+ {
+ Id = table.Column(nullable: false),
+ TenantId = table.Column(nullable: true),
+ AuditLogId = table.Column(nullable: false),
+ ServiceName = table.Column(maxLength: 256, nullable: true),
+ MethodName = table.Column(maxLength: 128, nullable: true),
+ Parameters = table.Column(maxLength: 2000, nullable: true),
+ ExecutionTime = table.Column(nullable: false),
+ ExecutionDuration = table.Column(nullable: false),
+ ExtraProperties = table.Column(nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AbpAuditLogActions", x => x.Id);
+ table.ForeignKey(
+ name: "FK_AbpAuditLogActions_AbpAuditLogs_AuditLogId",
+ column: x => x.AuditLogId,
+ principalTable: "AbpAuditLogs",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "AbpEntityChanges",
+ columns: table => new
+ {
+ Id = table.Column(nullable: false),
+ AuditLogId = table.Column(nullable: false),
+ TenantId = table.Column(nullable: true),
+ ChangeTime = table.Column(nullable: false),
+ ChangeType = table.Column(nullable: false),
+ EntityId = table.Column(maxLength: 128, nullable: false),
+ EntityTypeFullName = table.Column(maxLength: 128, nullable: false),
+ ExtraProperties = table.Column(nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AbpEntityChanges", x => x.Id);
+ table.ForeignKey(
+ name: "FK_AbpEntityChanges_AbpAuditLogs_AuditLogId",
+ column: x => x.AuditLogId,
+ principalTable: "AbpAuditLogs",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
migrationBuilder.CreateTable(
name: "AbpRoleClaims",
columns: table => new
@@ -155,9 +259,9 @@ namespace Acme.BookStore.Migrations
name: "AbpUserLogins",
columns: table => new
{
- TenantId = table.Column(nullable: true),
UserId = table.Column(nullable: false),
LoginProvider = table.Column(maxLength: 64, nullable: false),
+ TenantId = table.Column(nullable: true),
ProviderKey = table.Column(maxLength: 196, nullable: false),
ProviderDisplayName = table.Column(maxLength: 128, nullable: true)
},
@@ -176,9 +280,9 @@ namespace Acme.BookStore.Migrations
name: "AbpUserRoles",
columns: table => new
{
- TenantId = table.Column(nullable: true),
UserId = table.Column(nullable: false),
- RoleId = table.Column(nullable: false)
+ RoleId = table.Column(nullable: false),
+ TenantId = table.Column(nullable: true)
},
constraints: table =>
{
@@ -201,10 +305,10 @@ namespace Acme.BookStore.Migrations
name: "AbpUserTokens",
columns: table => new
{
- TenantId = table.Column(nullable: true),
UserId = table.Column(nullable: false),
LoginProvider = table.Column(maxLength: 64, nullable: false),
Name = table.Column(maxLength: 128, nullable: false),
+ TenantId = table.Column(nullable: true),
Value = table.Column(nullable: true)
},
constraints: table =>
@@ -218,6 +322,69 @@ namespace Acme.BookStore.Migrations
onDelete: ReferentialAction.Cascade);
});
+ migrationBuilder.CreateTable(
+ name: "AbpEntityPropertyChanges",
+ columns: table => new
+ {
+ Id = table.Column(nullable: false),
+ TenantId = table.Column(nullable: true),
+ EntityChangeId = table.Column(nullable: false),
+ NewValue = table.Column(maxLength: 512, nullable: true),
+ OriginalValue = table.Column(maxLength: 512, nullable: true),
+ PropertyName = table.Column(maxLength: 128, nullable: false),
+ PropertyTypeFullName = table.Column(maxLength: 64, nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AbpEntityPropertyChanges", x => x.Id);
+ table.ForeignKey(
+ name: "FK_AbpEntityPropertyChanges_AbpEntityChanges_EntityChangeId",
+ column: x => x.EntityChangeId,
+ principalTable: "AbpEntityChanges",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AbpAuditLogActions_AuditLogId",
+ table: "AbpAuditLogActions",
+ column: "AuditLogId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AbpAuditLogActions_TenantId_ServiceName_MethodName_ExecutionTime",
+ table: "AbpAuditLogActions",
+ columns: new[] { "TenantId", "ServiceName", "MethodName", "ExecutionTime" });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AbpAuditLogs_TenantId_ExecutionTime",
+ table: "AbpAuditLogs",
+ columns: new[] { "TenantId", "ExecutionTime" });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AbpAuditLogs_TenantId_UserId_ExecutionTime",
+ table: "AbpAuditLogs",
+ columns: new[] { "TenantId", "UserId", "ExecutionTime" });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AbpBackgroundJobs_IsAbandoned_NextTryTime",
+ table: "AbpBackgroundJobs",
+ columns: new[] { "IsAbandoned", "NextTryTime" });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AbpEntityChanges_AuditLogId",
+ table: "AbpEntityChanges",
+ column: "AuditLogId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AbpEntityChanges_TenantId_EntityTypeFullName_EntityId",
+ table: "AbpEntityChanges",
+ columns: new[] { "TenantId", "EntityTypeFullName", "EntityId" });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AbpEntityPropertyChanges_EntityChangeId",
+ table: "AbpEntityPropertyChanges",
+ column: "EntityChangeId");
+
migrationBuilder.CreateIndex(
name: "IX_AbpPermissionGrants_Name_ProviderName_ProviderKey",
table: "AbpPermissionGrants",
@@ -276,9 +443,18 @@ namespace Acme.BookStore.Migrations
protected override void Down(MigrationBuilder migrationBuilder)
{
+ migrationBuilder.DropTable(
+ name: "AbpAuditLogActions");
+
+ migrationBuilder.DropTable(
+ name: "AbpBackgroundJobs");
+
migrationBuilder.DropTable(
name: "AbpClaimTypes");
+ migrationBuilder.DropTable(
+ name: "AbpEntityPropertyChanges");
+
migrationBuilder.DropTable(
name: "AbpPermissionGrants");
@@ -300,11 +476,17 @@ namespace Acme.BookStore.Migrations
migrationBuilder.DropTable(
name: "AbpUserTokens");
+ migrationBuilder.DropTable(
+ name: "AbpEntityChanges");
+
migrationBuilder.DropTable(
name: "AbpRoles");
migrationBuilder.DropTable(
name: "AbpUsers");
+
+ migrationBuilder.DropTable(
+ name: "AbpAuditLogs");
}
}
}
diff --git a/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore/Migrations/20181224122651_Upgreded_ABP_Packages.Designer.cs b/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Migrations/20190328093603_Created_Book_Entity.Designer.cs
similarity index 56%
rename from samples/BookStore/src/Acme.BookStore.EntityFrameworkCore/Migrations/20181224122651_Upgreded_ABP_Packages.Designer.cs
rename to samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Migrations/20190328093603_Created_Book_Entity.Designer.cs
index c3cbd8e6d2..b3907725d0 100644
--- a/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore/Migrations/20181224122651_Upgreded_ABP_Packages.Designer.cs
+++ b/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Migrations/20190328093603_Created_Book_Entity.Designer.cs
@@ -9,15 +9,15 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace Acme.BookStore.Migrations
{
- [DbContext(typeof(BookStoreDbContext))]
- [Migration("20181224122651_Upgreded_ABP_Packages")]
- partial class Upgreded_ABP_Packages
+ [DbContext(typeof(BookStoreMigrationsDbContext))]
+ [Migration("20190328093603_Created_Book_Entity")]
+ partial class Created_Book_Entity
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
- .HasAnnotation("ProductVersion", "2.1.1-rtm-30846")
+ .HasAnnotation("ProductVersion", "2.2.3-servicing-35854")
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
@@ -27,18 +27,23 @@ namespace Acme.BookStore.Migrations
.ValueGeneratedOnAdd();
b.Property("ConcurrencyStamp")
- .IsConcurrencyToken();
+ .IsConcurrencyToken()
+ .HasColumnName("ConcurrencyStamp");
- b.Property("CreationTime");
+ b.Property("CreationTime")
+ .HasColumnName("CreationTime");
- b.Property("CreatorId");
+ b.Property("CreatorId")
+ .HasColumnName("CreatorId");
b.Property("ExtraProperties")
.HasColumnName("ExtraProperties");
- b.Property("LastModificationTime");
+ b.Property("LastModificationTime")
+ .HasColumnName("LastModificationTime");
- b.Property("LastModifierId");
+ b.Property("LastModifierId")
+ .HasColumnName("LastModifierId");
b.Property("Name")
.IsRequired()
@@ -52,7 +57,247 @@ namespace Acme.BookStore.Migrations
b.HasKey("Id");
- b.ToTable("Books");
+ b.ToTable("AppBooks");
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("ApplicationName")
+ .HasColumnName("ApplicationName")
+ .HasMaxLength(96);
+
+ b.Property("BrowserInfo")
+ .HasColumnName("BrowserInfo")
+ .HasMaxLength(512);
+
+ b.Property("ClientId")
+ .HasColumnName("ClientId")
+ .HasMaxLength(64);
+
+ b.Property("ClientIpAddress")
+ .HasColumnName("ClientIpAddress")
+ .HasMaxLength(64);
+
+ b.Property("ClientName")
+ .HasColumnName("ClientName")
+ .HasMaxLength(128);
+
+ b.Property("Comments")
+ .HasColumnName("Comments")
+ .HasMaxLength(256);
+
+ b.Property("ConcurrencyStamp");
+
+ b.Property("CorrelationId")
+ .HasColumnName("CorrelationId")
+ .HasMaxLength(64);
+
+ b.Property("Exceptions")
+ .HasColumnName("Exceptions")
+ .HasMaxLength(4000);
+
+ b.Property("ExecutionDuration")
+ .HasColumnName("ExecutionDuration");
+
+ b.Property("ExecutionTime");
+
+ b.Property("ExtraProperties")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("HttpMethod")
+ .HasColumnName("HttpMethod")
+ .HasMaxLength(16);
+
+ b.Property("HttpStatusCode")
+ .HasColumnName("HttpStatusCode");
+
+ b.Property("ImpersonatorTenantId")
+ .HasColumnName("ImpersonatorTenantId");
+
+ b.Property("ImpersonatorUserId")
+ .HasColumnName("ImpersonatorUserId");
+
+ b.Property("TenantId")
+ .HasColumnName("TenantId");
+
+ b.Property("Url")
+ .HasColumnName("Url")
+ .HasMaxLength(256);
+
+ b.Property("UserId")
+ .HasColumnName("UserId");
+
+ b.Property("UserName")
+ .HasColumnName("UserName")
+ .HasMaxLength(256);
+
+ b.HasKey("Id");
+
+ b.HasIndex("TenantId", "ExecutionTime");
+
+ b.HasIndex("TenantId", "UserId", "ExecutionTime");
+
+ b.ToTable("AbpAuditLogs");
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("AuditLogId")
+ .HasColumnName("AuditLogId");
+
+ b.Property("ExecutionDuration")
+ .HasColumnName("ExecutionDuration");
+
+ b.Property("ExecutionTime")
+ .HasColumnName("ExecutionTime");
+
+ b.Property("ExtraProperties")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("MethodName")
+ .HasColumnName("MethodName")
+ .HasMaxLength(128);
+
+ b.Property("Parameters")
+ .HasColumnName("Parameters")
+ .HasMaxLength(2000);
+
+ b.Property("ServiceName")
+ .HasColumnName("ServiceName")
+ .HasMaxLength(256);
+
+ b.Property("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AuditLogId");
+
+ b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime");
+
+ b.ToTable("AbpAuditLogActions");
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("AuditLogId")
+ .HasColumnName("AuditLogId");
+
+ b.Property("ChangeTime")
+ .HasColumnName("ChangeTime");
+
+ b.Property("ChangeType")
+ .HasColumnName("ChangeType");
+
+ b.Property("EntityId")
+ .IsRequired()
+ .HasColumnName("EntityId")
+ .HasMaxLength(128);
+
+ b.Property("EntityTypeFullName")
+ .IsRequired()
+ .HasColumnName("EntityTypeFullName")
+ .HasMaxLength(128);
+
+ b.Property("ExtraProperties")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("TenantId")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AuditLogId");
+
+ b.HasIndex("TenantId", "EntityTypeFullName", "EntityId");
+
+ b.ToTable("AbpEntityChanges");
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("EntityChangeId");
+
+ b.Property("NewValue")
+ .HasColumnName("NewValue")
+ .HasMaxLength(512);
+
+ b.Property("OriginalValue")
+ .HasColumnName("OriginalValue")
+ .HasMaxLength(512);
+
+ b.Property("PropertyName")
+ .IsRequired()
+ .HasColumnName("PropertyName")
+ .HasMaxLength(128);
+
+ b.Property("PropertyTypeFullName")
+ .IsRequired()
+ .HasColumnName("PropertyTypeFullName")
+ .HasMaxLength(64);
+
+ b.Property("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("EntityChangeId");
+
+ b.ToTable("AbpEntityPropertyChanges");
+ });
+
+ modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnName("CreationTime");
+
+ b.Property("ExtraProperties")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsAbandoned")
+ .ValueGeneratedOnAdd()
+ .HasDefaultValue(false);
+
+ b.Property