//
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Rmsys.Infrastructure;
#nullable disable
namespace Rmsys.Infrastructure.Migrations
{
[DbContext(typeof(RmsysDbContext))]
[Migration("20261018014540_AddReadReceipts")]
partial class AddReadReceipts
{
///
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.8")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder);
modelBuilder.Entity("Rmsys.Domain.Entities.AppointDoc", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("CreatedAt")
.HasColumnType("datetime(6)");
b.Property("DeptId")
.HasColumnType("int");
b.Property("DocNo")
.HasMaxLength(64)
.HasColumnType("varchar(64)");
b.Property("FilePath")
.HasMaxLength(500)
.HasColumnType("varchar(500)");
b.Property("FileSize")
.HasColumnType("bigint");
b.Property("IsDeleted")
.HasColumnType("int");
b.Property("MeetingId")
.HasColumnType("int");
b.Property("Pages")
.HasColumnType("int");
b.Property("Persons")
.HasColumnType("int");
b.Property("Status")
.IsRequired()
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("Title")
.HasMaxLength(255)
.HasColumnType("varchar(255)");
b.Property("UploadedAt")
.HasColumnType("datetime(6)");
b.Property("UploadedBy")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("Version")
.IsRequired()
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.HasKey("Id");
b.HasIndex("MeetingId", "DeptId")
.IsUnique();
b.ToTable("appointdocs");
});
modelBuilder.Entity("Rmsys.Domain.Entities.AuditLog", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("Action")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("At")
.HasColumnType("datetime(6)");
b.Property("Detail")
.HasMaxLength(1000)
.HasColumnType("varchar(1000)");
b.Property("Device")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("Ip")
.HasMaxLength(64)
.HasColumnType("varchar(64)");
b.Property("Role")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("Success")
.HasColumnType("int");
b.Property("Target")
.HasMaxLength(255)
.HasColumnType("varchar(255)");
b.Property("UserId")
.HasColumnType("int");
b.Property("UserName")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.HasKey("Id");
b.HasIndex("At");
b.HasIndex("Action", "At");
b.HasIndex("UserName", "At");
b.ToTable("auditlogs");
});
modelBuilder.Entity("Rmsys.Domain.Entities.Cadre", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("AppointReason")
.HasMaxLength(1000)
.HasColumnType("varchar(1000)");
b.Property("Birth")
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("BirthPlace")
.HasMaxLength(64)
.HasColumnType("varchar(64)");
b.Property("Care")
.HasMaxLength(2000)
.HasColumnType("varchar(2000)");
b.Property("CreatedAt")
.HasColumnType("datetime(6)");
b.Property("CurrentPost")
.HasMaxLength(255)
.HasColumnType("varchar(255)");
b.Property("DeptId")
.HasColumnType("int");
b.Property("DismissPost")
.HasMaxLength(255)
.HasColumnType("varchar(255)");
b.Property("EduFullDegree")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("EduFullLevel")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("EduFullMajor")
.HasMaxLength(128)
.HasColumnType("varchar(128)");
b.Property("EduFullSchool")
.HasMaxLength(128)
.HasColumnType("varchar(128)");
b.Property("EduInDegree")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("EduInLevel")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("EduInMajor")
.HasMaxLength(128)
.HasColumnType("varchar(128)");
b.Property("EduInSchool")
.HasMaxLength(128)
.HasColumnType("varchar(128)");
b.Property("Exams")
.HasMaxLength(255)
.HasColumnType("varchar(255)");
b.Property("Expertise")
.HasMaxLength(255)
.HasColumnType("varchar(255)");
b.Property("Health")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("Kw")
.HasMaxLength(255)
.HasColumnType("varchar(255)");
b.Property("Name")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("Nation")
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("NativePlace")
.HasMaxLength(64)
.HasColumnType("varchar(64)");
b.Property("PartyDate")
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("Perf")
.HasMaxLength(2000)
.HasColumnType("varchar(2000)");
b.Property("PhotoPath")
.HasMaxLength(255)
.HasColumnType("varchar(255)");
b.Property("ProposedPost")
.HasMaxLength(255)
.HasColumnType("varchar(255)");
b.Property("Rewards")
.HasMaxLength(1000)
.HasColumnType("varchar(1000)");
b.Property("Sex")
.HasMaxLength(4)
.HasColumnType("varchar(4)");
b.Property("Suggest")
.HasMaxLength(1000)
.HasColumnType("varchar(1000)");
b.Property("TechPost")
.HasMaxLength(64)
.HasColumnType("varchar(64)");
b.Property("UpdatedAt")
.HasColumnType("datetime(6)");
b.Property("WorkDate")
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.HasKey("Id");
b.HasIndex("DeptId", "Name");
b.ToTable("cadres");
});
modelBuilder.Entity("Rmsys.Domain.Entities.CadreFamily", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("Age")
.HasMaxLength(8)
.HasColumnType("varchar(8)");
b.Property("CadreId")
.HasColumnType("int");
b.Property("Name")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("Political")
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("Relation")
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("Sort")
.HasColumnType("int");
b.Property("WorkUnit")
.HasMaxLength(255)
.HasColumnType("varchar(255)");
b.HasKey("Id");
b.HasIndex("CadreId", "Sort");
b.ToTable("cadrefamilies");
});
modelBuilder.Entity("Rmsys.Domain.Entities.CadreNote", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("Author")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("CadreId")
.HasColumnType("int");
b.Property("Content")
.IsRequired()
.HasMaxLength(1000)
.HasColumnType("varchar(1000)");
b.Property("CreatedAt")
.HasColumnType("datetime(6)");
b.Property("FieldName")
.HasMaxLength(64)
.HasColumnType("varchar(64)");
b.Property("MeetingId")
.HasColumnType("int");
b.Property("Source")
.IsRequired()
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.HasKey("Id");
b.HasIndex("CadreId", "MeetingId");
b.ToTable("cadrenotes");
});
modelBuilder.Entity("Rmsys.Domain.Entities.CadreRelation", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("CadreId")
.HasColumnType("int");
b.Property("NeedAvoid")
.HasColumnType("int");
b.Property("RelatedName")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("RelatedPost")
.HasMaxLength(255)
.HasColumnType("varchar(255)");
b.Property("Relation")
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.HasKey("Id");
b.HasIndex("CadreId");
b.ToTable("cadrerelations");
});
modelBuilder.Entity("Rmsys.Domain.Entities.CadreResume", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("CadreId")
.HasColumnType("int");
b.Property("Content")
.IsRequired()
.HasMaxLength(500)
.HasColumnType("varchar(500)");
b.Property("Period")
.HasMaxLength(64)
.HasColumnType("varchar(64)");
b.Property("Sort")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("CadreId", "Sort");
b.ToTable("cadreresumes");
});
modelBuilder.Entity("Rmsys.Domain.Entities.DataPackage", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("AllowFontChange")
.HasColumnType("int");
b.Property("ClearPolicy")
.IsRequired()
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("CreatedAt")
.HasColumnType("datetime(6)");
b.Property("CreatedBy")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("DownloadedAt")
.HasColumnType("datetime(6)");
b.Property("Encrypt")
.IsRequired()
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("ExpireAt")
.HasColumnType("datetime(6)");
b.Property("FilePath")
.HasMaxLength(500)
.HasColumnType("varchar(500)");
b.Property("FileSize")
.HasColumnType("bigint");
b.Property("FontLevel")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("varchar(8)");
b.Property("MeetingId")
.HasColumnType("int");
b.Property("PkgNo")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("PwdHash")
.HasMaxLength(128)
.HasColumnType("varchar(128)");
b.Property("Status")
.IsRequired()
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("SwitchesJson")
.HasMaxLength(1000)
.HasColumnType("varchar(1000)");
b.Property("Watermark")
.HasMaxLength(128)
.HasColumnType("varchar(128)");
b.HasKey("Id");
b.HasIndex("MeetingId");
b.HasIndex("PkgNo")
.IsUnique();
b.ToTable("datapackages");
});
modelBuilder.Entity("Rmsys.Domain.Entities.Dept", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("Code")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("CreatedAt")
.HasColumnType("datetime(6)");
b.Property("Duty")
.HasMaxLength(255)
.HasColumnType("varchar(255)");
b.Property("Enabled")
.HasColumnType("int");
b.Property("Leader")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("Name")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("varchar(64)");
b.Property("Sort")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("Code")
.IsUnique();
b.ToTable("depts");
});
modelBuilder.Entity("Rmsys.Domain.Entities.DictItem", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("Code")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("Enabled")
.HasColumnType("int");
b.Property("Label")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("varchar(64)");
b.Property("Sort")
.HasColumnType("int");
b.Property("Type")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.HasKey("Id");
b.HasIndex("Type", "Code")
.IsUnique();
b.ToTable("dictitems");
});
modelBuilder.Entity("Rmsys.Domain.Entities.Material", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("CadreId")
.HasColumnType("int");
b.Property("CreatedAt")
.HasColumnType("datetime(6)");
b.Property("DeptId")
.HasColumnType("int");
b.Property("FileName")
.HasMaxLength(255)
.HasColumnType("varchar(255)");
b.Property("FilePath")
.HasMaxLength(500)
.HasColumnType("varchar(500)");
b.Property("FileSize")
.HasColumnType("bigint");
b.Property("MeetingId")
.HasColumnType("int");
b.Property("Pages")
.HasColumnType("int");
b.Property("Seq")
.HasColumnType("int");
b.Property("Status")
.IsRequired()
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("Title")
.HasMaxLength(255)
.HasColumnType("varchar(255)");
b.Property("Type")
.IsRequired()
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("UploadedAt")
.HasColumnType("datetime(6)");
b.Property("UploadedBy")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("Version")
.IsRequired()
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.HasKey("Id");
b.HasIndex("MeetingId", "DeptId");
b.HasIndex("MeetingId", "Type", "CadreId")
.IsUnique();
b.ToTable("materials");
});
modelBuilder.Entity("Rmsys.Domain.Entities.Meeting", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("BatchNo")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("CreatedAt")
.HasColumnType("datetime(6)");
b.Property("HeldAt")
.HasColumnType("datetime(6)");
b.Property("Host")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("IsDeleted")
.HasColumnType("int");
b.Property("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("varchar(128)");
b.Property("Place")
.HasMaxLength(128)
.HasColumnType("varchar(128)");
b.Property("PwdLevel")
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("Remark")
.HasMaxLength(500)
.HasColumnType("varchar(500)");
b.Property("Secret")
.IsRequired()
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("SecretStars")
.HasMaxLength(8)
.HasColumnType("varchar(8)");
b.Property("SessionNo")
.HasColumnType("int");
b.Property("Status")
.IsRequired()
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("Type")
.IsRequired()
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("UpdatedAt")
.HasColumnType("datetime(6)");
b.HasKey("Id");
b.HasIndex("BatchNo");
b.HasIndex("Type", "SessionNo");
b.ToTable("meetings");
});
modelBuilder.Entity("Rmsys.Domain.Entities.MeetingCadre", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("CadreId")
.HasColumnType("int");
b.Property("DecidedAt")
.HasColumnType("datetime(6)");
b.Property("IssueNo")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("MeetingId")
.HasColumnType("int");
b.Property("Remark")
.HasMaxLength(500)
.HasColumnType("varchar(500)");
b.Property("Result")
.IsRequired()
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("SortNo")
.HasColumnType("int");
b.Property("Vote")
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.HasKey("Id");
b.HasIndex("CadreId");
b.HasIndex("MeetingId", "CadreId")
.IsUnique();
b.HasIndex("MeetingId", "SortNo");
b.ToTable("meetingcadres");
});
modelBuilder.Entity("Rmsys.Domain.Entities.PackageDevice", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("PackageId")
.HasColumnType("int");
b.Property("PadId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("PackageId", "PadId")
.IsUnique();
b.ToTable("packagedevices");
});
modelBuilder.Entity("Rmsys.Domain.Entities.PackageItem", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("Enabled")
.HasColumnType("int");
b.Property("MaterialType")
.IsRequired()
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("PackageId")
.HasColumnType("int");
b.Property("Sort")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("PackageId", "MaterialType")
.IsUnique();
b.ToTable("packageitems");
});
modelBuilder.Entity("Rmsys.Domain.Entities.PadDevice", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("CreatedAt")
.HasColumnType("datetime(6)");
b.Property("LastSeenAt")
.HasColumnType("datetime(6)");
b.Property("Model")
.HasMaxLength(64)
.HasColumnType("varchar(64)");
b.Property("OwnerDeptId")
.HasColumnType("int");
b.Property("OwnerLabel")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("PadNo")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("Status")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("PadNo")
.IsUnique();
b.ToTable("paddevices");
});
modelBuilder.Entity("Rmsys.Domain.Entities.PwdHistory", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("ChangedAt")
.HasColumnType("datetime(6)");
b.Property("PwdHash")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("varchar(128)");
b.Property("UserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("UserId", "ChangedAt");
b.ToTable("pwdhistories");
});
modelBuilder.Entity("Rmsys.Domain.Entities.ReadReceipt", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("CadreId")
.HasColumnType("int");
b.Property("ImportedAt")
.HasColumnType("datetime(6)");
b.Property("ImportedBy")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("MaterialType")
.IsRequired()
.HasMaxLength(16)
.HasColumnType("varchar(16)");
b.Property("MeetingId")
.HasColumnType("int");
b.Property("PadNo")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("ReadAt")
.HasColumnType("datetime(6)");
b.HasKey("Id");
b.HasIndex("MeetingId");
b.HasIndex("MeetingId", "CadreId", "MaterialType", "PadNo")
.IsUnique();
b.ToTable("readreceipts");
});
modelBuilder.Entity("Rmsys.Domain.Entities.SysConfig", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("ConfigKey")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("varchar(64)");
b.Property("ConfigValue")
.HasMaxLength(512)
.HasColumnType("varchar(512)");
b.Property("IsSecret")
.HasColumnType("int");
b.Property("Remark")
.HasMaxLength(200)
.HasColumnType("varchar(200)");
b.Property("UpdatedAt")
.HasColumnType("datetime(6)");
b.Property("UpdatedBy")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.HasKey("Id");
b.HasIndex("ConfigKey")
.IsUnique();
b.ToTable("sysconfigs");
});
modelBuilder.Entity("Rmsys.Domain.Entities.SysRole", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("Code")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("Name")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("Perms")
.HasMaxLength(1000)
.HasColumnType("varchar(1000)");
b.Property("Sort")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("Code")
.IsUnique();
b.ToTable("sysroles");
});
modelBuilder.Entity("Rmsys.Domain.Entities.SysUser", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("Account")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("CreatedAt")
.HasColumnType("datetime(6)");
b.Property("DataScope")
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("DeptId")
.HasColumnType("int");
b.Property("Enabled")
.HasColumnType("int");
b.Property("FailCount")
.HasColumnType("int");
b.Property("LastLoginAt")
.HasColumnType("datetime(6)");
b.Property("LockedUntil")
.HasColumnType("datetime(6)");
b.Property("Phone")
.HasMaxLength(20)
.HasColumnType("varchar(20)");
b.Property("PwdHash")
.HasMaxLength(128)
.HasColumnType("varchar(128)");
b.Property("PwdSalt")
.HasMaxLength(64)
.HasColumnType("varchar(64)");
b.Property("PwdUpdatedAt")
.HasColumnType("datetime(6)");
b.Property("RealName")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("varchar(32)");
b.Property("TokenVersion")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("Account")
.IsUnique();
b.ToTable("sysusers");
});
modelBuilder.Entity("Rmsys.Domain.Entities.SysUserRole", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id"));
b.Property("RoleId")
.HasColumnType("int");
b.Property("UserId")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("UserId", "RoleId")
.IsUnique();
b.ToTable("sysuserroles");
});
modelBuilder.Entity("Rmsys.Domain.Entities.Cadre", b =>
{
b.HasOne("Rmsys.Domain.Entities.Dept", null)
.WithMany()
.HasForeignKey("DeptId")
.OnDelete(DeleteBehavior.SetNull);
});
modelBuilder.Entity("Rmsys.Domain.Entities.CadreFamily", b =>
{
b.HasOne("Rmsys.Domain.Entities.Cadre", "Cadre")
.WithMany("Families")
.HasForeignKey("CadreId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Cadre");
});
modelBuilder.Entity("Rmsys.Domain.Entities.CadreNote", b =>
{
b.HasOne("Rmsys.Domain.Entities.Cadre", "Cadre")
.WithMany("Notes")
.HasForeignKey("CadreId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Cadre");
});
modelBuilder.Entity("Rmsys.Domain.Entities.CadreResume", b =>
{
b.HasOne("Rmsys.Domain.Entities.Cadre", "Cadre")
.WithMany("Resumes")
.HasForeignKey("CadreId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Cadre");
});
modelBuilder.Entity("Rmsys.Domain.Entities.MeetingCadre", b =>
{
b.HasOne("Rmsys.Domain.Entities.Cadre", "Cadre")
.WithMany()
.HasForeignKey("CadreId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Rmsys.Domain.Entities.Meeting", "Meeting")
.WithMany("Cadres")
.HasForeignKey("MeetingId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Cadre");
b.Navigation("Meeting");
});
modelBuilder.Entity("Rmsys.Domain.Entities.Cadre", b =>
{
b.Navigation("Families");
b.Navigation("Notes");
b.Navigation("Resumes");
});
modelBuilder.Entity("Rmsys.Domain.Entities.Meeting", b =>
{
b.Navigation("Cadres");
});
#pragma warning restore 612, 618
}
}
}