diff --git a/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/DataDictionaryManagementHttpApiHostModule.cs b/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/DataDictionaryManagementHttpApiHostModule.cs
index 5214444a..57f5c214 100644
--- a/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/DataDictionaryManagementHttpApiHostModule.cs
+++ b/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/DataDictionaryManagementHttpApiHostModule.cs
@@ -25,7 +25,7 @@ namespace Lion.AbpPro.DataDictionaryManagement
// {
// options.IsEnabled = MultiTenancyConsts.IsEnabled;
// });
-
+ context.Services.AddAlwaysAllowAuthorization();
ConfigureSwaggerServices(context);
ConfigureCache(context);
ConfigureCors(context);
diff --git a/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host.csproj b/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host.csproj
index f3c00529..260f34d6 100644
--- a/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host.csproj
+++ b/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host.csproj
@@ -22,6 +22,7 @@
+
diff --git a/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20210812130334_Init.Designer.cs b/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20210812130334_Init.Designer.cs
deleted file mode 100644
index 073a1571..00000000
--- a/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20210812130334_Init.Designer.cs
+++ /dev/null
@@ -1,153 +0,0 @@
-//
-using System;
-using Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-using Volo.Abp.EntityFrameworkCore;
-
-namespace Lion.AbpPro.DataDictionaryManagement.Migrations
-{
- [DbContext(typeof(DataDictionaryManagementHttpApiHostMigrationsDbContext))]
- [Migration("20210812130334_Init")]
- partial class Init
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql)
- .HasAnnotation("Relational:MaxIdentifierLength", 64)
- .HasAnnotation("ProductVersion", "5.0.7");
-
- modelBuilder.Entity("Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Aggregates.DataDictionary", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("char(36)");
-
- b.Property("Code")
- .IsRequired()
- .HasMaxLength(64)
- .HasColumnType("varchar(64) CHARACTER SET utf8mb4");
-
- b.Property("ConcurrencyStamp")
- .IsConcurrencyToken()
- .HasMaxLength(40)
- .HasColumnType("varchar(40) CHARACTER SET utf8mb4")
- .HasColumnName("ConcurrencyStamp");
-
- b.Property("CreationTime")
- .HasColumnType("datetime(6)")
- .HasColumnName("CreationTime");
-
- b.Property("CreatorId")
- .HasColumnType("char(36)")
- .HasColumnName("CreatorId");
-
- b.Property("DeleterId")
- .HasColumnType("char(36)")
- .HasColumnName("DeleterId");
-
- b.Property("DeletionTime")
- .HasColumnType("datetime(6)")
- .HasColumnName("DeletionTime");
-
- b.Property("Description")
- .IsRequired()
- .HasMaxLength(1024)
- .HasColumnType("varchar(1024) CHARACTER SET utf8mb4");
-
- b.Property("DisplayText")
- .IsRequired()
- .HasMaxLength(64)
- .HasColumnType("varchar(64) CHARACTER SET utf8mb4");
-
- b.Property("ExtraProperties")
- .HasColumnType("longtext CHARACTER SET utf8mb4")
- .HasColumnName("ExtraProperties");
-
- b.Property("IsDeleted")
- .ValueGeneratedOnAdd()
- .HasColumnType("tinyint(1)")
- .HasDefaultValue(false)
- .HasColumnName("IsDeleted");
-
- b.Property("LastModificationTime")
- .HasColumnType("datetime(6)")
- .HasColumnName("LastModificationTime");
-
- b.Property("LastModifierId")
- .HasColumnType("char(36)")
- .HasColumnName("LastModifierId");
-
- b.HasKey("Id");
-
- b.ToTable("DataDictionary");
- });
-
- modelBuilder.Entity("Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Aggregates.DataDictionaryDetail", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("char(36)");
-
- b.Property("Code")
- .HasColumnType("longtext CHARACTER SET utf8mb4");
-
- b.Property("CreationTime")
- .HasColumnType("datetime(6)")
- .HasColumnName("CreationTime");
-
- b.Property("CreatorId")
- .HasColumnType("char(36)")
- .HasColumnName("CreatorId");
-
- b.Property("DataDictionaryId")
- .HasColumnType("char(36)");
-
- b.Property("Description")
- .HasColumnType("longtext CHARACTER SET utf8mb4");
-
- b.Property("DisplayText")
- .HasColumnType("longtext CHARACTER SET utf8mb4");
-
- b.Property("IsEnabled")
- .HasColumnType("tinyint(1)");
-
- b.Property("LastModificationTime")
- .HasColumnType("datetime(6)")
- .HasColumnName("LastModificationTime");
-
- b.Property("LastModifierId")
- .HasColumnType("char(36)")
- .HasColumnName("LastModifierId");
-
- b.Property("Order")
- .HasColumnType("int");
-
- b.HasKey("Id");
-
- b.HasIndex("DataDictionaryId");
-
- b.ToTable("DataDictionaryDetail");
- });
-
- modelBuilder.Entity("Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Aggregates.DataDictionaryDetail", b =>
- {
- b.HasOne("Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Aggregates.DataDictionary", null)
- .WithMany("Details")
- .HasForeignKey("DataDictionaryId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
-
- modelBuilder.Entity("Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Aggregates.DataDictionary", b =>
- {
- b.Navigation("Details");
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20210812154152_AddTenantId.cs b/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20210812154152_AddTenantId.cs
deleted file mode 100644
index d26ab3b8..00000000
--- a/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20210812154152_AddTenantId.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System;
-using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace Lion.AbpPro.DataDictionaryManagement.Migrations
-{
- public partial class AddTenantId : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.AddColumn(
- name: "TenantId",
- table: "DataDictionary",
- type: "char(36)",
- nullable: true);
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropColumn(
- name: "TenantId",
- table: "DataDictionary");
- }
- }
-}
diff --git a/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20210812154152_AddTenantId.Designer.cs b/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20230315062044_Init.Designer.cs
similarity index 86%
rename from aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20210812154152_AddTenantId.Designer.cs
rename to aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20230315062044_Init.Designer.cs
index 1fcf9de0..eaf3978e 100644
--- a/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20210812154152_AddTenantId.Designer.cs
+++ b/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20230315062044_Init.Designer.cs
@@ -1,4 +1,4 @@
-//
+//
using System;
using Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
@@ -7,19 +7,22 @@ using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Volo.Abp.EntityFrameworkCore;
+#nullable disable
+
namespace Lion.AbpPro.DataDictionaryManagement.Migrations
{
[DbContext(typeof(DataDictionaryManagementHttpApiHostMigrationsDbContext))]
- [Migration("20210812154152_AddTenantId")]
- partial class AddTenantId
+ [Migration("20230315062044_Init")]
+ partial class Init
{
+ ///
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql)
- .HasAnnotation("Relational:MaxIdentifierLength", 64)
- .HasAnnotation("ProductVersion", "5.0.7");
+ .HasAnnotation("ProductVersion", "7.0.2")
+ .HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Aggregates.DataDictionary", b =>
{
@@ -30,12 +33,12 @@ namespace Lion.AbpPro.DataDictionaryManagement.Migrations
b.Property("Code")
.IsRequired()
.HasMaxLength(64)
- .HasColumnType("varchar(64) CHARACTER SET utf8mb4");
+ .HasColumnType("varchar(64)");
b.Property("ConcurrencyStamp")
.IsConcurrencyToken()
.HasMaxLength(40)
- .HasColumnType("varchar(40) CHARACTER SET utf8mb4")
+ .HasColumnType("varchar(40)")
.HasColumnName("ConcurrencyStamp");
b.Property("CreationTime")
@@ -57,15 +60,15 @@ namespace Lion.AbpPro.DataDictionaryManagement.Migrations
b.Property("Description")
.IsRequired()
.HasMaxLength(1024)
- .HasColumnType("varchar(1024) CHARACTER SET utf8mb4");
+ .HasColumnType("varchar(1024)");
b.Property("DisplayText")
.IsRequired()
.HasMaxLength(64)
- .HasColumnType("varchar(64) CHARACTER SET utf8mb4");
+ .HasColumnType("varchar(64)");
b.Property("ExtraProperties")
- .HasColumnType("longtext CHARACTER SET utf8mb4")
+ .HasColumnType("longtext")
.HasColumnName("ExtraProperties");
b.Property("IsDeleted")
@@ -88,7 +91,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.Migrations
b.HasKey("Id");
- b.ToTable("DataDictionary");
+ b.ToTable("DataDictionary", (string)null);
});
modelBuilder.Entity("Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Aggregates.DataDictionaryDetail", b =>
@@ -98,7 +101,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.Migrations
.HasColumnType("char(36)");
b.Property("Code")
- .HasColumnType("longtext CHARACTER SET utf8mb4");
+ .HasColumnType("longtext");
b.Property("CreationTime")
.HasColumnType("datetime(6)")
@@ -112,10 +115,10 @@ namespace Lion.AbpPro.DataDictionaryManagement.Migrations
.HasColumnType("char(36)");
b.Property("Description")
- .HasColumnType("longtext CHARACTER SET utf8mb4");
+ .HasColumnType("longtext");
b.Property("DisplayText")
- .HasColumnType("longtext CHARACTER SET utf8mb4");
+ .HasColumnType("longtext");
b.Property("IsEnabled")
.HasColumnType("tinyint(1)");
@@ -135,7 +138,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.Migrations
b.HasIndex("DataDictionaryId");
- b.ToTable("DataDictionaryDetail");
+ b.ToTable("DataDictionaryDetail", (string)null);
});
modelBuilder.Entity("Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Aggregates.DataDictionaryDetail", b =>
diff --git a/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20210812130334_Init.cs b/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20230315062044_Init.cs
similarity index 65%
rename from aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20210812130334_Init.cs
rename to aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20230315062044_Init.cs
index 5e488d27..d2ce2d92 100644
--- a/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20210812130334_Init.cs
+++ b/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/20230315062044_Init.cs
@@ -1,50 +1,67 @@
-using System;
+using System;
using Microsoft.EntityFrameworkCore.Migrations;
+#nullable disable
+
namespace Lion.AbpPro.DataDictionaryManagement.Migrations
{
+ ///
public partial class Init : Migration
{
+ ///
protected override void Up(MigrationBuilder migrationBuilder)
{
+ migrationBuilder.AlterDatabase()
+ .Annotation("MySql:CharSet", "utf8mb4");
+
migrationBuilder.CreateTable(
name: "DataDictionary",
columns: table => new
{
- Id = table.Column(type: "char(36)", nullable: false),
- Code = table.Column(type: "varchar(64) CHARACTER SET utf8mb4", maxLength: 64, nullable: false),
- DisplayText = table.Column(type: "varchar(64) CHARACTER SET utf8mb4", maxLength: 64, nullable: false),
- Description = table.Column(type: "varchar(1024) CHARACTER SET utf8mb4", maxLength: 1024, nullable: false),
- ExtraProperties = table.Column(type: "longtext CHARACTER SET utf8mb4", nullable: true),
- ConcurrencyStamp = table.Column(type: "varchar(40) CHARACTER SET utf8mb4", maxLength: 40, nullable: true),
+ Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
+ TenantId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
+ Code = table.Column(type: "varchar(64)", maxLength: 64, nullable: false)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ DisplayText = table.Column(type: "varchar(64)", maxLength: 64, nullable: false)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ Description = table.Column(type: "varchar(1024)", maxLength: 1024, nullable: false)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ ExtraProperties = table.Column(type: "longtext", nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ ConcurrencyStamp = table.Column(type: "varchar(40)", maxLength: 40, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
CreationTime = table.Column(type: "datetime(6)", nullable: false),
- CreatorId = table.Column(type: "char(36)", nullable: true),
+ CreatorId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
LastModificationTime = table.Column(type: "datetime(6)", nullable: true),
- LastModifierId = table.Column(type: "char(36)", nullable: true),
+ LastModifierId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
IsDeleted = table.Column(type: "tinyint(1)", nullable: false, defaultValue: false),
- DeleterId = table.Column(type: "char(36)", nullable: true),
+ DeleterId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
DeletionTime = table.Column(type: "datetime(6)", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_DataDictionary", x => x.Id);
- });
+ })
+ .Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "DataDictionaryDetail",
columns: table => new
{
- Id = table.Column(type: "char(36)", nullable: false),
- DataDictionaryId = table.Column(type: "char(36)", nullable: false),
- Code = table.Column(type: "longtext CHARACTER SET utf8mb4", nullable: true),
+ Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
+ DataDictionaryId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
+ Code = table.Column(type: "longtext", nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
Order = table.Column(type: "int", nullable: false),
- DisplayText = table.Column(type: "longtext CHARACTER SET utf8mb4", nullable: true),
- Description = table.Column(type: "longtext CHARACTER SET utf8mb4", nullable: true),
+ DisplayText = table.Column(type: "longtext", nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ Description = table.Column(type: "longtext", nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
IsEnabled = table.Column(type: "tinyint(1)", nullable: false),
CreationTime = table.Column(type: "datetime(6)", nullable: false),
- CreatorId = table.Column(type: "char(36)", nullable: true),
+ CreatorId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
LastModificationTime = table.Column(type: "datetime(6)", nullable: true),
- LastModifierId = table.Column(type: "char(36)", nullable: true)
+ LastModifierId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci")
},
constraints: table =>
{
@@ -55,7 +72,8 @@ namespace Lion.AbpPro.DataDictionaryManagement.Migrations
principalTable: "DataDictionary",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
- });
+ })
+ .Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateIndex(
name: "IX_DataDictionaryDetail_DataDictionaryId",
@@ -63,6 +81,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.Migrations
column: "DataDictionaryId");
}
+ ///
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
diff --git a/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/DataDictionaryManagementHttpApiHostMigrationsDbContextModelSnapshot.cs b/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/DataDictionaryManagementHttpApiHostMigrationsDbContextModelSnapshot.cs
index fbfb185a..cefc7280 100644
--- a/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/DataDictionaryManagementHttpApiHostMigrationsDbContextModelSnapshot.cs
+++ b/aspnet-core/modules/DataDictionaryManagement/host/Lion.AbpPro.DataDictionaryManagement.HttpApi.Host/Migrations/DataDictionaryManagementHttpApiHostMigrationsDbContextModelSnapshot.cs
@@ -1,4 +1,4 @@
-//
+//
using System;
using Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
@@ -6,6 +6,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Volo.Abp.EntityFrameworkCore;
+#nullable disable
+
namespace Lion.AbpPro.DataDictionaryManagement.Migrations
{
[DbContext(typeof(DataDictionaryManagementHttpApiHostMigrationsDbContext))]
@@ -16,8 +18,8 @@ namespace Lion.AbpPro.DataDictionaryManagement.Migrations
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql)
- .HasAnnotation("Relational:MaxIdentifierLength", 64)
- .HasAnnotation("ProductVersion", "5.0.7");
+ .HasAnnotation("ProductVersion", "7.0.2")
+ .HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Aggregates.DataDictionary", b =>
{
@@ -28,12 +30,12 @@ namespace Lion.AbpPro.DataDictionaryManagement.Migrations
b.Property("Code")
.IsRequired()
.HasMaxLength(64)
- .HasColumnType("varchar(64) CHARACTER SET utf8mb4");
+ .HasColumnType("varchar(64)");
b.Property("ConcurrencyStamp")
.IsConcurrencyToken()
.HasMaxLength(40)
- .HasColumnType("varchar(40) CHARACTER SET utf8mb4")
+ .HasColumnType("varchar(40)")
.HasColumnName("ConcurrencyStamp");
b.Property("CreationTime")
@@ -55,15 +57,15 @@ namespace Lion.AbpPro.DataDictionaryManagement.Migrations
b.Property("Description")
.IsRequired()
.HasMaxLength(1024)
- .HasColumnType("varchar(1024) CHARACTER SET utf8mb4");
+ .HasColumnType("varchar(1024)");
b.Property("DisplayText")
.IsRequired()
.HasMaxLength(64)
- .HasColumnType("varchar(64) CHARACTER SET utf8mb4");
+ .HasColumnType("varchar(64)");
b.Property("ExtraProperties")
- .HasColumnType("longtext CHARACTER SET utf8mb4")
+ .HasColumnType("longtext")
.HasColumnName("ExtraProperties");
b.Property("IsDeleted")
@@ -86,7 +88,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.Migrations
b.HasKey("Id");
- b.ToTable("DataDictionary");
+ b.ToTable("DataDictionary", (string)null);
});
modelBuilder.Entity("Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Aggregates.DataDictionaryDetail", b =>
@@ -96,7 +98,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.Migrations
.HasColumnType("char(36)");
b.Property("Code")
- .HasColumnType("longtext CHARACTER SET utf8mb4");
+ .HasColumnType("longtext");
b.Property("CreationTime")
.HasColumnType("datetime(6)")
@@ -110,10 +112,10 @@ namespace Lion.AbpPro.DataDictionaryManagement.Migrations
.HasColumnType("char(36)");
b.Property("Description")
- .HasColumnType("longtext CHARACTER SET utf8mb4");
+ .HasColumnType("longtext");
b.Property("DisplayText")
- .HasColumnType("longtext CHARACTER SET utf8mb4");
+ .HasColumnType("longtext");
b.Property("IsEnabled")
.HasColumnType("tinyint(1)");
@@ -133,7 +135,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.Migrations
b.HasIndex("DataDictionaryId");
- b.ToTable("DataDictionaryDetail");
+ b.ToTable("DataDictionaryDetail", (string)null);
});
modelBuilder.Entity("Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Aggregates.DataDictionaryDetail", b =>
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Domain.Shared/DataDictionaryManagementConsts.cs b/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Domain.Shared/DataDictionaryManagementConsts.cs
index 5542156b..be86f1f2 100644
--- a/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Domain.Shared/DataDictionaryManagementConsts.cs
+++ b/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Domain.Shared/DataDictionaryManagementConsts.cs
@@ -2,8 +2,6 @@ namespace Lion.AbpPro.DataDictionaryManagement
{
public class DataDictionaryManagementConsts
{
- public static Guid SeedDataDictionaryId = new Guid("39fdb236-a90e-e4b5-02a0-2866a8cf9821");
-
/// 名称空间
public const string NameSpace = "Lion.AbpPro.DataDictionaryManagement";
/// 默认语言
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore/EntityFrameworkCore/DataDictionaryManagementDbContextModelCreatingExtensions.cs b/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore/EntityFrameworkCore/DataDictionaryManagementDbContextModelCreatingExtensions.cs
index 1ca79ebd..0fe9ca47 100644
--- a/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore/EntityFrameworkCore/DataDictionaryManagementDbContextModelCreatingExtensions.cs
+++ b/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore/EntityFrameworkCore/DataDictionaryManagementDbContextModelCreatingExtensions.cs
@@ -6,25 +6,18 @@ namespace Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore
this ModelBuilder builder)
{
Check.NotNull(builder, nameof(builder));
-
+
builder.Entity(b =>
{
- builder.Entity(b =>
- {
- b.ToTable(DataDictionaryManagementDbProperties.DbTablePrefix + nameof(DataDictionary),
- DataDictionaryManagementDbProperties.DbSchema);
- b.ConfigureByConvention();
- });
+ b.ToTable(DataDictionaryManagementDbProperties.DbTablePrefix + nameof(DataDictionary), DataDictionaryManagementDbProperties.DbSchema);
+ b.HasMany(e => e.Details).WithOne().HasForeignKey(uc => uc.DataDictionaryId).IsRequired();
+ b.ConfigureByConvention();
});
-
+
builder.Entity(b =>
{
- builder.Entity(b =>
- {
- b.ToTable(DataDictionaryManagementDbProperties.DbTablePrefix + nameof(DataDictionaryDetail),
- DataDictionaryManagementDbProperties.DbSchema);
- b.ConfigureByConvention();
- });
+ b.ToTable(DataDictionaryManagementDbProperties.DbTablePrefix + nameof(DataDictionaryDetail), DataDictionaryManagementDbProperties.DbSchema);
+ b.ConfigureByConvention();
});
}
}
diff --git a/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.Application.Tests/DataDictionaries/DataDictionaryAppService_Tests.cs b/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.Application.Tests/DataDictionaries/DataDictionaryAppService_Tests.cs
index c569ece0..9379fa24 100644
--- a/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.Application.Tests/DataDictionaries/DataDictionaryAppService_Tests.cs
+++ b/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.Application.Tests/DataDictionaries/DataDictionaryAppService_Tests.cs
@@ -47,7 +47,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries
{
var input = new CreateDataDictinaryDetailInput()
{
- Id = DataDictionaryManagementConsts.SeedDataDictionaryId,
+ Id = DataDictionaryManagementTestConsts.SeedDataDictionaryId,
Code = "Detail",
DisplayText = "明细",
Description = "单元测试",
@@ -58,7 +58,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries
var result = await _dataDictionaryAppService.GetPagingDetailListAsync(
new PagingDataDictionaryDetailInput()
{
- DataDictionaryId = DataDictionaryManagementConsts.SeedDataDictionaryId,
+ DataDictionaryId = DataDictionaryManagementTestConsts.SeedDataDictionaryId,
Filter = "Detail"
}
);
diff --git a/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.Domain.Tests/DataDictionaries/DataDictionaryManager_Tests.cs b/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.Domain.Tests/DataDictionaries/DataDictionaryManager_Tests.cs
index 0c491af5..e79372d3 100644
--- a/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.Domain.Tests/DataDictionaries/DataDictionaryManager_Tests.cs
+++ b/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.Domain.Tests/DataDictionaries/DataDictionaryManager_Tests.cs
@@ -13,7 +13,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries
public async Task Test_FindByIdAsync_Ok()
{
var entity =
- await _dataDictionaryManager.FindByIdAsync(DataDictionaryManagementConsts.SeedDataDictionaryId);
+ await _dataDictionaryManager.FindByIdAsync(DataDictionaryManagementTestConsts.SeedDataDictionaryId);
entity.DisplayText.ShouldBe("性别");
entity.Details.Count.ShouldBe(3);
entity.Details.FirstOrDefault(e => e.Code == "None").IsEnabled.ShouldBeFalse();
@@ -43,7 +43,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries
exception.Message.ShouldBe($"数据字典不存在");
var exception1 = await Record.ExceptionAsync(async () =>
- await _dataDictionaryManager.CreateDetailAsync(DataDictionaryManagementConsts.SeedDataDictionaryId,
+ await _dataDictionaryManager.CreateDetailAsync(DataDictionaryManagementTestConsts.SeedDataDictionaryId,
"Man", "明细", "测试", 1));
exception1.Message.ShouldBe($"字典项Man已存在");
diff --git a/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore.Tests/EntityFrameworkCore/DataDictionaries/EfCoreDataDictionaryRepository_Tests.cs b/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore.Tests/EntityFrameworkCore/DataDictionaries/EfCoreDataDictionaryRepository_Tests.cs
index c38bd3f1..bbfe815d 100644
--- a/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore.Tests/EntityFrameworkCore/DataDictionaries/EfCoreDataDictionaryRepository_Tests.cs
+++ b/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore.Tests/EntityFrameworkCore/DataDictionaries/EfCoreDataDictionaryRepository_Tests.cs
@@ -14,14 +14,14 @@ namespace Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore.DataDictionar
public async Task Test_FindByIdAsync_Ok()
{
var entity =
- await _dataDictionaryRepository.FindByIdAsync(DataDictionaryManagementConsts.SeedDataDictionaryId,
+ await _dataDictionaryRepository.FindByIdAsync(DataDictionaryManagementTestConsts.SeedDataDictionaryId,
true);
entity.DisplayText.ShouldBe("性别");
entity.Details.Count.ShouldBe(3);
entity.Details.FirstOrDefault(e => e.Code == "None").IsEnabled.ShouldBeFalse();
var noDetailEntity =
- await _dataDictionaryRepository.FindByIdAsync(DataDictionaryManagementConsts.SeedDataDictionaryId,
+ await _dataDictionaryRepository.FindByIdAsync(DataDictionaryManagementTestConsts.SeedDataDictionaryId,
false);
noDetailEntity.Details.Count.ShouldBe(0);
}
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Domain/DataDictionaries/DataDictionaryDataSeedContributor.cs b/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.TestBase/DataDictionaryDataSeedContributor.cs
similarity index 95%
rename from aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Domain/DataDictionaries/DataDictionaryDataSeedContributor.cs
rename to aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.TestBase/DataDictionaryDataSeedContributor.cs
index 2d0b26dc..74b00499 100644
--- a/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Domain/DataDictionaries/DataDictionaryDataSeedContributor.cs
+++ b/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.TestBase/DataDictionaryDataSeedContributor.cs
@@ -22,7 +22,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries
var gender = await _dataDictionaryRepository.FindByCodeAsync("Gender");
if (gender == null)
{
- var id = context is {TenantId: null} ? DataDictionaryManagementConsts.SeedDataDictionaryId : _guidGenerator.Create();
+ var id = context is {TenantId: null} ? DataDictionaryManagementTestConsts.SeedDataDictionaryId : _guidGenerator.Create();
var entity = new DataDictionary(id, "Gender", "性别", "单元测试", context?.TenantId);
entity.AddDetail(_guidGenerator.Create(), "Man", "男", 1, "单元测试");
entity.AddDetail(_guidGenerator.Create(), "WoMan", "女", 2, "单元测试");
diff --git a/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.TestBase/DataDictionaryManagementDataSeedContributor.cs b/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.TestBase/DataDictionaryManagementDataSeedContributor.cs
deleted file mode 100644
index dc6d5fbd..00000000
--- a/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.TestBase/DataDictionaryManagementDataSeedContributor.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-namespace Lion.AbpPro.DataDictionaryManagement
-{
- public class DataDictionaryManagementDataSeedContributor : IDataSeedContributor, ITransientDependency
- {
- private readonly IGuidGenerator _guidGenerator;
- private readonly ICurrentTenant _currentTenant;
-
-
- public DataDictionaryManagementDataSeedContributor(
- IGuidGenerator guidGenerator,
- ICurrentTenant currentTenant)
- {
- _guidGenerator = guidGenerator;
- _currentTenant = currentTenant;
- }
-
- public async Task SeedAsync(DataSeedContext context)
- {
- /* Instead of returning the Task.CompletedTask, you can insert your test data
- * at this point!
- */
- await Task.CompletedTask;
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.TestBase/DataDictionaryManagementTestConsts.cs b/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.TestBase/DataDictionaryManagementTestConsts.cs
index aa2e0f37..41fc3b3f 100644
--- a/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.TestBase/DataDictionaryManagementTestConsts.cs
+++ b/aspnet-core/modules/DataDictionaryManagement/test/Lion.AbpPro.DataDictionaryManagement.TestBase/DataDictionaryManagementTestConsts.cs
@@ -2,6 +2,6 @@ namespace Lion.AbpPro.DataDictionaryManagement
{
public class DataDictionaryManagementTestConsts
{
-
+ public static Guid SeedDataDictionaryId = new Guid("39fdb236-a90e-e4b5-02a0-2866a8cf9821");
}
}
\ No newline at end of file
diff --git a/aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/Migrations/20220702015410_Init.Designer.cs b/aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/Migrations/20230315062459_Init.Designer.cs
similarity index 93%
rename from aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/Migrations/20220702015410_Init.Designer.cs
rename to aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/Migrations/20230315062459_Init.Designer.cs
index f40f3f56..e265789c 100644
--- a/aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/Migrations/20220702015410_Init.Designer.cs
+++ b/aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/Migrations/20230315062459_Init.Designer.cs
@@ -12,15 +12,16 @@ using Volo.Abp.EntityFrameworkCore;
namespace Lion.AbpPro.NotificationManagement.Migrations
{
[DbContext(typeof(NotificationManagementHttpApiHostMigrationsDbContext))]
- [Migration("20220702015410_Init")]
+ [Migration("20230315062459_Init")]
partial class Init
{
+ ///
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql)
- .HasAnnotation("ProductVersion", "6.0.6")
+ .HasAnnotation("ProductVersion", "7.0.2")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("Lion.AbpPro.NotificationManagement.Notifications.Aggregates.Notification", b =>
@@ -74,6 +75,9 @@ namespace Lion.AbpPro.NotificationManagement.Migrations
.HasColumnType("char(36)")
.HasColumnName("LastModifierId");
+ b.Property("MessageLevel")
+ .HasColumnType("int");
+
b.Property("MessageType")
.HasColumnType("int");
@@ -126,7 +130,7 @@ namespace Lion.AbpPro.NotificationManagement.Migrations
.HasColumnType("char(36)")
.HasColumnName("LastModifierId");
- b.Property("NotificationId")
+ b.Property("NotificationId")
.HasColumnType("char(36)");
b.Property("Read")
@@ -149,7 +153,9 @@ namespace Lion.AbpPro.NotificationManagement.Migrations
{
b.HasOne("Lion.AbpPro.NotificationManagement.Notifications.Aggregates.Notification", null)
.WithMany("NotificationSubscriptions")
- .HasForeignKey("NotificationId");
+ .HasForeignKey("NotificationId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
});
modelBuilder.Entity("Lion.AbpPro.NotificationManagement.Notifications.Aggregates.Notification", b =>
diff --git a/aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/Migrations/20220702015410_Init.cs b/aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/Migrations/20230315062459_Init.cs
similarity index 93%
rename from aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/Migrations/20220702015410_Init.cs
rename to aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/Migrations/20230315062459_Init.cs
index 109241c3..9fd7f511 100644
--- a/aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/Migrations/20220702015410_Init.cs
+++ b/aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/Migrations/20230315062459_Init.cs
@@ -5,8 +5,10 @@ using Microsoft.EntityFrameworkCore.Migrations;
namespace Lion.AbpPro.NotificationManagement.Migrations
{
+ ///
public partial class Init : Migration
{
+ ///
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterDatabase()
@@ -22,6 +24,7 @@ namespace Lion.AbpPro.NotificationManagement.Migrations
Content = table.Column(type: "varchar(1024)", maxLength: 1024, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
MessageType = table.Column(type: "int", nullable: false),
+ MessageLevel = table.Column(type: "int", nullable: false),
SenderId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ExtraProperties = table.Column(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
@@ -46,10 +49,10 @@ namespace Lion.AbpPro.NotificationManagement.Migrations
columns: table => new
{
Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
+ NotificationId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ReceiveId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Read = table.Column(type: "tinyint(1)", nullable: false),
ReadTime = table.Column(type: "datetime(6)", nullable: true),
- NotificationId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
CreationTime = table.Column(type: "datetime(6)", nullable: false),
CreatorId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
LastModificationTime = table.Column(type: "datetime(6)", nullable: true),
@@ -65,7 +68,8 @@ namespace Lion.AbpPro.NotificationManagement.Migrations
name: "FK_NotificationSubscription_Notification_NotificationId",
column: x => x.NotificationId,
principalTable: "Notification",
- principalColumn: "Id");
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
@@ -75,6 +79,7 @@ namespace Lion.AbpPro.NotificationManagement.Migrations
column: "NotificationId");
}
+ ///
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
diff --git a/aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/Migrations/NotificationManagementHttpApiHostMigrationsDbContextModelSnapshot.cs b/aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/Migrations/NotificationManagementHttpApiHostMigrationsDbContextModelSnapshot.cs
index 0241fca1..e693043c 100644
--- a/aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/Migrations/NotificationManagementHttpApiHostMigrationsDbContextModelSnapshot.cs
+++ b/aspnet-core/modules/NotificationManagement/host/Lion.AbpPro.NotificationManagement.HttpApi.Host/Migrations/NotificationManagementHttpApiHostMigrationsDbContextModelSnapshot.cs
@@ -18,7 +18,7 @@ namespace Lion.AbpPro.NotificationManagement.Migrations
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql)
- .HasAnnotation("ProductVersion", "6.0.6")
+ .HasAnnotation("ProductVersion", "7.0.2")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("Lion.AbpPro.NotificationManagement.Notifications.Aggregates.Notification", b =>
@@ -72,6 +72,9 @@ namespace Lion.AbpPro.NotificationManagement.Migrations
.HasColumnType("char(36)")
.HasColumnName("LastModifierId");
+ b.Property("MessageLevel")
+ .HasColumnType("int");
+
b.Property("MessageType")
.HasColumnType("int");
@@ -124,7 +127,7 @@ namespace Lion.AbpPro.NotificationManagement.Migrations
.HasColumnType("char(36)")
.HasColumnName("LastModifierId");
- b.Property("NotificationId")
+ b.Property("NotificationId")
.HasColumnType("char(36)");
b.Property("Read")
@@ -147,7 +150,9 @@ namespace Lion.AbpPro.NotificationManagement.Migrations
{
b.HasOne("Lion.AbpPro.NotificationManagement.Notifications.Aggregates.Notification", null)
.WithMany("NotificationSubscriptions")
- .HasForeignKey("NotificationId");
+ .HasForeignKey("NotificationId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
});
modelBuilder.Entity("Lion.AbpPro.NotificationManagement.Notifications.Aggregates.Notification", b =>
diff --git a/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.Domain/Notifications/Aggregates/Notification.cs b/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.Domain/Notifications/Aggregates/Notification.cs
index 7fc5b534..a32a1c79 100644
--- a/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.Domain/Notifications/Aggregates/Notification.cs
+++ b/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.Domain/Notifications/Aggregates/Notification.cs
@@ -114,7 +114,7 @@ namespace Lion.AbpPro.NotificationManagement.Notifications.Aggregates
{
if (NotificationSubscriptions.Any(e => e.ReceiveId == receiveId)) return;
NotificationSubscriptions.Add(
- new NotificationSubscription(notificationSubscriptionId, receiveId));
+ new NotificationSubscription(notificationSubscriptionId, Id, receiveId));
}
///
@@ -126,12 +126,10 @@ namespace Lion.AbpPro.NotificationManagement.Notifications.Aggregates
{
return;
}
- else
- {
- var temp = new NotificationSubscription(notificationSubscriptionId, receiveId);
- temp.SetRead(readTime);
- NotificationSubscriptions.Add(temp);
- }
+
+ var temp = new NotificationSubscription(notificationSubscriptionId, Id, receiveId);
+ temp.SetRead(readTime);
+ NotificationSubscriptions.Add(temp);
}
///
diff --git a/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.Domain/Notifications/Aggregates/NotificationSubscription.cs b/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.Domain/Notifications/Aggregates/NotificationSubscription.cs
index 683f299f..a5fe7271 100644
--- a/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.Domain/Notifications/Aggregates/NotificationSubscription.cs
+++ b/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.Domain/Notifications/Aggregates/NotificationSubscription.cs
@@ -5,6 +5,11 @@ namespace Lion.AbpPro.NotificationManagement.Notifications.Aggregates
///
public class NotificationSubscription : FullAuditedEntity
{
+ ///
+ /// 消息Id
+ ///
+ public Guid NotificationId { get; set; }
+
///
/// 订阅人
///
@@ -27,15 +32,20 @@ namespace Lion.AbpPro.NotificationManagement.Notifications.Aggregates
public NotificationSubscription(
Guid id,
+ Guid notificationId,
Guid receiveId
) : base(id)
{
+ SetNotificationId(notificationId);
SetReceiveId(receiveId);
Read = false;
ReadTime = null;
}
-
+ private void SetNotificationId(Guid notificationId)
+ {
+ NotificationId = notificationId;
+ }
private void SetReceiveId(Guid receiveId)
{
ReceiveId = receiveId;
diff --git a/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.EntityFrameworkCore/EntityFrameworkCore/NotificationManagementDbContextModelCreatingExtensions.cs b/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.EntityFrameworkCore/EntityFrameworkCore/NotificationManagementDbContextModelCreatingExtensions.cs
index 394f132c..e3dab4cf 100644
--- a/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.EntityFrameworkCore/EntityFrameworkCore/NotificationManagementDbContextModelCreatingExtensions.cs
+++ b/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.EntityFrameworkCore/EntityFrameworkCore/NotificationManagementDbContextModelCreatingExtensions.cs
@@ -9,15 +9,14 @@ namespace Lion.AbpPro.NotificationManagement.EntityFrameworkCore
builder.Entity(b =>
{
- b.ToTable(NotificationManagementDbProperties.DbTablePrefix + nameof(Notification),
- NotificationManagementDbProperties.DbSchema);
+ b.ToTable(NotificationManagementDbProperties.DbTablePrefix + nameof(Notification),NotificationManagementDbProperties.DbSchema);
+ b.HasMany(e => e.NotificationSubscriptions).WithOne().HasForeignKey(uc => uc.NotificationId).IsRequired();
b.ConfigureByConvention();
});
builder.Entity(b =>
{
- b.ToTable(NotificationManagementDbProperties.DbTablePrefix + nameof(NotificationSubscription),
- NotificationManagementDbProperties.DbSchema);
+ b.ToTable(NotificationManagementDbProperties.DbTablePrefix + nameof(NotificationSubscription),NotificationManagementDbProperties.DbSchema);
b.ConfigureByConvention();
});
}
diff --git a/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/wwwroot/images/xxx-job.png b/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/wwwroot/images/xxx-job.png
deleted file mode 100644
index 6658b8e8..00000000
Binary files a/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/wwwroot/images/xxx-job.png and /dev/null differ
diff --git a/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/20230315062828_UpdateDataDictionaryManagementAndNotificationManagement.Designer.cs b/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/20230315062828_UpdateDataDictionaryManagementAndNotificationManagement.Designer.cs
new file mode 100644
index 00000000..c7e3c43e
--- /dev/null
+++ b/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/20230315062828_UpdateDataDictionaryManagementAndNotificationManagement.Designer.cs
@@ -0,0 +1,1714 @@
+//
+using System;
+using Lion.AbpPro.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Volo.Abp.EntityFrameworkCore;
+
+#nullable disable
+
+namespace Lion.AbpPro.Migrations
+{
+ [DbContext(typeof(AbpProDbContext))]
+ [Migration("20230315062828_UpdateDataDictionaryManagementAndNotificationManagement")]
+ partial class UpdateDataDictionaryManagementAndNotificationManagement
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql)
+ .HasAnnotation("ProductVersion", "7.0.2")
+ .HasAnnotation("Relational:MaxIdentifierLength", 64);
+
+ modelBuilder.Entity("Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Aggregates.DataDictionary", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("Code")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("Description")
+ .IsRequired()
+ .HasMaxLength(1024)
+ .HasColumnType("varchar(1024)");
+
+ b.Property("DisplayText")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.ToTable("DataDictionary", (string)null);
+ });
+
+ modelBuilder.Entity("Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Aggregates.DataDictionaryDetail", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("Code")
+ .HasColumnType("longtext");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DataDictionaryId")
+ .HasColumnType("char(36)");
+
+ b.Property("Description")
+ .HasColumnType("longtext");
+
+ b.Property("DisplayText")
+ .HasColumnType("longtext");
+
+ b.Property("IsEnabled")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Order")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DataDictionaryId");
+
+ b.ToTable("DataDictionaryDetail", (string)null);
+ });
+
+ modelBuilder.Entity("Lion.AbpPro.NotificationManagement.Notifications.Aggregates.Notification", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("Content")
+ .IsRequired()
+ .HasMaxLength(1024)
+ .HasColumnType("varchar(1024)");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("MessageLevel")
+ .HasColumnType("int");
+
+ b.Property("MessageType")
+ .HasColumnType("int");
+
+ b.Property("SenderId")
+ .HasColumnType("char(36)");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Notification", (string)null);
+ });
+
+ modelBuilder.Entity("Lion.AbpPro.NotificationManagement.Notifications.Aggregates.NotificationSubscription", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId");
+
+ b.Property("NotificationId")
+ .HasColumnType("char(36)");
+
+ b.Property("Read")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("ReadTime")
+ .HasColumnType("datetime(6)");
+
+ b.Property("ReceiveId")
+ .HasColumnType("char(36)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("NotificationId");
+
+ b.ToTable("NotificationSubscription", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("ApplicationName")
+ .HasMaxLength(96)
+ .HasColumnType("varchar(96)")
+ .HasColumnName("ApplicationName");
+
+ b.Property("BrowserInfo")
+ .HasMaxLength(512)
+ .HasColumnType("varchar(512)")
+ .HasColumnName("BrowserInfo");
+
+ b.Property("ClientId")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("ClientId");
+
+ b.Property("ClientIpAddress")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("ClientIpAddress");
+
+ b.Property("ClientName")
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasColumnName("ClientName");
+
+ b.Property("Comments")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasColumnName("Comments");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CorrelationId")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("CorrelationId");
+
+ b.Property("Exceptions")
+ .HasColumnType("longtext");
+
+ b.Property("ExecutionDuration")
+ .HasColumnType("int")
+ .HasColumnName("ExecutionDuration");
+
+ b.Property("ExecutionTime")
+ .HasColumnType("datetime(6)");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("HttpMethod")
+ .HasMaxLength(16)
+ .HasColumnType("varchar(16)")
+ .HasColumnName("HttpMethod");
+
+ b.Property("HttpStatusCode")
+ .HasColumnType("int")
+ .HasColumnName("HttpStatusCode");
+
+ b.Property("ImpersonatorTenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("ImpersonatorTenantId");
+
+ b.Property("ImpersonatorTenantName")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("ImpersonatorTenantName");
+
+ b.Property("ImpersonatorUserId")
+ .HasColumnType("char(36)")
+ .HasColumnName("ImpersonatorUserId");
+
+ b.Property("ImpersonatorUserName")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasColumnName("ImpersonatorUserName");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.Property("TenantName")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("TenantName");
+
+ b.Property("Url")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasColumnName("Url");
+
+ b.Property("UserId")
+ .HasColumnType("char(36)")
+ .HasColumnName("UserId");
+
+ b.Property("UserName")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasColumnName("UserName");
+
+ b.HasKey("Id");
+
+ b.HasIndex("TenantId", "ExecutionTime");
+
+ b.HasIndex("TenantId", "UserId", "ExecutionTime");
+
+ b.ToTable("AbpAuditLogs", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("AuditLogId")
+ .HasColumnType("char(36)")
+ .HasColumnName("AuditLogId");
+
+ b.Property("ExecutionDuration")
+ .HasColumnType("int")
+ .HasColumnName("ExecutionDuration");
+
+ b.Property("ExecutionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("ExecutionTime");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("MethodName")
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasColumnName("MethodName");
+
+ b.Property("Parameters")
+ .HasMaxLength(2000)
+ .HasColumnType("varchar(2000)")
+ .HasColumnName("Parameters");
+
+ b.Property("ServiceName")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasColumnName("ServiceName");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AuditLogId");
+
+ b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime");
+
+ b.ToTable("AbpAuditLogActions", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("AuditLogId")
+ .HasColumnType("char(36)")
+ .HasColumnName("AuditLogId");
+
+ b.Property("ChangeTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("ChangeTime");
+
+ b.Property("ChangeType")
+ .HasColumnType("tinyint unsigned")
+ .HasColumnName("ChangeType");
+
+ b.Property("EntityId")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasColumnName("EntityId");
+
+ b.Property("EntityTenantId")
+ .HasColumnType("char(36)");
+
+ b.Property("EntityTypeFullName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasColumnName("EntityTypeFullName");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AuditLogId");
+
+ b.HasIndex("TenantId", "EntityTypeFullName", "EntityId");
+
+ b.ToTable("AbpEntityChanges", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("EntityChangeId")
+ .HasColumnType("char(36)");
+
+ b.Property("NewValue")
+ .HasMaxLength(512)
+ .HasColumnType("varchar(512)")
+ .HasColumnName("NewValue");
+
+ b.Property("OriginalValue")
+ .HasMaxLength(512)
+ .HasColumnType("varchar(512)")
+ .HasColumnName("OriginalValue");
+
+ b.Property("PropertyName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasColumnName("PropertyName");
+
+ b.Property("PropertyTypeFullName")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("PropertyTypeFullName");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("EntityChangeId");
+
+ b.ToTable("AbpEntityPropertyChanges", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsAbandoned")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false);
+
+ b.Property("JobArgs")
+ .IsRequired()
+ .HasMaxLength(1048576)
+ .HasColumnType("longtext");
+
+ b.Property("JobName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("LastTryTime")
+ .HasColumnType("datetime(6)");
+
+ b.Property("NextTryTime")
+ .HasColumnType("datetime(6)");
+
+ b.Property("Priority")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint unsigned")
+ .HasDefaultValue((byte)15);
+
+ b.Property("TryCount")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("smallint")
+ .HasDefaultValue((short)0);
+
+ b.HasKey("Id");
+
+ b.HasIndex("IsAbandoned", "NextTryTime");
+
+ b.ToTable("AbpBackgroundJobs", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureDefinitionRecord", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("AllowedProviders")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)");
+
+ b.Property("DefaultValue")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)");
+
+ b.Property("Description")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)");
+
+ b.Property("DisplayName")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("GroupName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("IsAvailableToHost")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("IsVisibleToClients")
+ .HasColumnType("tinyint(1)");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("ParentName")
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("ValueType")
+ .HasMaxLength(2048)
+ .HasColumnType("varchar(2048)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("GroupName");
+
+ b.HasIndex("Name")
+ .IsUnique();
+
+ b.ToTable("AbpFeatures", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureGroupDefinitionRecord", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("DisplayName")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Name")
+ .IsUnique();
+
+ b.ToTable("AbpFeatureGroups", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)");
+
+ b.Property("ProviderKey")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)");
+
+ b.Property