// using System; using System.Collections.Generic; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; using Plugin.Database.DB; using WingsAPI.Data.Character; using WingsAPI.Data.Families; using WingsAPI.Data.Miniland; using WingsEmu.DTOs.Bonus; using WingsEmu.DTOs.Buffs; using WingsEmu.DTOs.Inventory; using WingsEmu.DTOs.Items; using WingsEmu.DTOs.Mates; using WingsEmu.DTOs.Quests; using WingsEmu.DTOs.Quicklist; using WingsEmu.DTOs.Respawns; using WingsEmu.DTOs.Skills; using WingsEmu.DTOs.Titles; namespace Plugin.Database.Migrations { [DbContext(typeof(GameContext))] [Migration("20211227011918_Init")] partial class Init { protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("Relational:MaxIdentifierLength", 63) .HasAnnotation("ProductVersion", "5.0.7") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); modelBuilder.Entity("Plugin.Database.Auth.ClientVersion.AuthorizedClientVersionEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("ClientVersion") .IsRequired() .HasColumnType("text"); b.Property("DllHash") .IsRequired() .HasColumnType("text"); b.Property("ExecutableHash") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.ToTable("authorized_client_versions", "_config_auth"); }); modelBuilder.Entity("Plugin.Database.Auth.HWID.BlacklistedHwidEntity", b => { b.Property("HardwareId") .HasColumnType("text"); b.Property("Comment") .IsRequired() .HasColumnType("text"); b.Property("Judge") .IsRequired() .HasColumnType("text"); b.HasKey("HardwareId"); b.ToTable("blacklisted_hardware_ids", "_config_auth"); }); modelBuilder.Entity("Plugin.Database.Bazaar.DbBazaarItemEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Amount") .HasColumnType("integer"); b.Property("CharacterId") .HasColumnType("bigint"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("DayExpiryAmount") .HasColumnType("smallint"); b.Property("DeletedAt") .HasColumnType("timestamp without time zone"); b.Property("ExpiryDate") .HasColumnType("timestamp without time zone"); b.Property("IsPackage") .HasColumnType("boolean"); b.Property("ItemInstance") .HasColumnType("jsonb"); b.Property("PricePerItem") .HasColumnType("bigint"); b.Property("SaleFee") .HasColumnType("bigint"); b.Property("SoldAmount") .HasColumnType("integer"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone"); b.Property("UsedMedal") .HasColumnType("boolean"); b.HasKey("Id"); b.HasIndex("CharacterId"); b.ToTable("items", "bazaar"); }); modelBuilder.Entity("Plugin.Database.Entities.Account.AccountBanEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("AccountId") .HasColumnType("bigint"); b.Property("End") .HasColumnType("timestamp without time zone"); b.Property("JudgeName") .HasColumnType("text"); b.Property("Reason") .HasColumnType("text"); b.Property("Start") .HasColumnType("timestamp without time zone"); b.Property("TargetName") .HasColumnType("text"); b.Property("UnlockReason") .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("AccountId"); b.ToTable("accounts_bans", "accounts"); }); modelBuilder.Entity("Plugin.Database.Entities.Account.AccountEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Authority") .HasColumnType("smallint"); b.Property("BankMoney") .HasColumnType("bigint"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("DeletedAt") .HasColumnType("timestamp without time zone"); b.Property("IsPrimaryAccount") .HasColumnType("boolean"); b.Property("Language") .HasColumnType("integer"); b.Property("MasterAccountId") .HasColumnType("uuid"); b.Property("Name") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("Password") .HasMaxLength(255) .IsUnicode(false) .HasColumnType("character varying(255)"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone"); b.HasKey("Id"); b.ToTable("accounts", "accounts"); }); modelBuilder.Entity("Plugin.Database.Entities.Account.AccountPenaltyEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("AccountId") .HasColumnType("bigint"); b.Property("JudgeName") .HasColumnType("text"); b.Property("PenaltyType") .HasColumnType("smallint"); b.Property("Reason") .HasColumnType("text"); b.Property("RemainingTime") .HasColumnType("integer"); b.Property("Start") .HasColumnType("timestamp without time zone"); b.Property("TargetName") .HasColumnType("text"); b.Property("UnlockReason") .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("AccountId"); b.ToTable("accounts_penalties", "accounts"); }); modelBuilder.Entity("Plugin.Database.Entities.PlayersData.CharacterRelationEntity", b => { b.Property("CharacterId") .HasColumnType("bigint"); b.Property("RelatedCharacterId") .HasColumnType("bigint"); b.Property("RelatedName") .HasColumnType("text"); b.Property("RelationType") .HasColumnType("smallint"); b.HasKey("CharacterId", "RelatedCharacterId"); b.HasIndex("RelatedCharacterId"); b.ToTable("characters_relations", "characters"); }); modelBuilder.Entity("Plugin.Database.Entities.PlayersData.DbCharacter", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("AccountId") .HasColumnType("bigint"); b.Property("Act4Dead") .HasColumnType("integer"); b.Property("Act4Kill") .HasColumnType("integer"); b.Property("Act4Points") .HasColumnType("integer"); b.Property("Act5RespawnType") .HasColumnType("integer"); b.Property>("ActiveQuests") .HasColumnType("jsonb"); b.Property("ArenaWinner") .HasColumnType("integer"); b.Property("Biography") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property>("Bonus") .HasColumnType("jsonb"); b.Property("BuffBlocked") .HasColumnType("boolean"); b.Property("Class") .HasColumnType("smallint"); b.Property>("CompletedPeriodicQuests") .HasColumnType("jsonb"); b.Property>("CompletedQuests") .HasColumnType("jsonb"); b.Property>("CompletedScripts") .HasColumnType("jsonb"); b.Property>("CompletedTimeSpaces") .HasColumnType("jsonb"); b.Property("Compliment") .HasColumnType("smallint"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("DeletedAt") .HasColumnType("timestamp without time zone"); b.Property("Dignity") .HasColumnType("real"); b.Property("EmoticonsBlocked") .HasColumnType("boolean"); b.Property>("EquippedStuffs") .HasColumnType("jsonb"); b.Property("ExchangeBlocked") .HasColumnType("boolean"); b.Property("Faction") .HasColumnType("smallint"); b.Property("FamilyRequestBlocked") .HasColumnType("boolean"); b.Property("FriendRequestBlocked") .HasColumnType("boolean"); b.Property("Gender") .HasColumnType("smallint"); b.Property("Gold") .HasColumnType("bigint"); b.Property("GroupRequestBlocked") .HasColumnType("boolean"); b.Property("HairColor") .HasColumnType("smallint"); b.Property("HairStyle") .HasColumnType("smallint"); b.Property("HeroChatBlocked") .HasColumnType("boolean"); b.Property("HeroLevel") .HasColumnType("smallint"); b.Property("HeroXp") .HasColumnType("bigint"); b.Property("HideHat") .HasColumnType("boolean"); b.Property("Hp") .HasColumnType("integer"); b.Property("HpBlocked") .HasColumnType("boolean"); b.Property>("Inventory") .HasColumnType("jsonb"); b.Property("IsPartnerAutoRelive") .HasColumnType("boolean"); b.Property("IsPetAutoRelive") .HasColumnType("boolean"); b.Property("JobLevel") .HasColumnType("smallint"); b.Property("JobLevelXp") .HasColumnType("bigint"); b.Property>("LearnedSkills") .HasColumnType("jsonb"); b.Property("Level") .HasColumnType("smallint"); b.Property("LevelXp") .HasColumnType("bigint"); b.Property("LifetimeStats") .HasColumnType("jsonb"); b.Property("MapId") .HasColumnType("integer"); b.Property("MapX") .HasColumnType("smallint"); b.Property("MapY") .HasColumnType("smallint"); b.Property("MasterPoints") .HasColumnType("integer"); b.Property("MasterTicket") .HasColumnType("integer"); b.Property("MaxPartnerCount") .HasColumnType("smallint"); b.Property("MaxPetCount") .HasColumnType("smallint"); b.Property("MinilandInviteBlocked") .HasColumnType("boolean"); b.Property("MinilandMessage") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property>("MinilandObjects") .HasColumnType("jsonb"); b.Property("MinilandPoint") .HasColumnType("smallint"); b.Property("MinilandState") .HasColumnType("smallint"); b.Property("MouseAimLock") .HasColumnType("boolean"); b.Property("Mp") .HasColumnType("integer"); b.Property("Name") .HasMaxLength(30) .IsUnicode(false) .HasColumnType("character varying(30)"); b.Property>("NosMates") .HasColumnType("jsonb"); b.Property>("PartnerInventory") .HasColumnType("jsonb"); b.Property>("PartnerWarehouse") .HasColumnType("jsonb"); b.Property("Prefix") .HasMaxLength(25) .HasColumnType("character varying(25)"); b.Property("QuickGetUp") .HasColumnType("boolean"); b.Property>("Quicklist") .HasColumnType("jsonb"); b.Property("RagePoint") .HasColumnType("bigint"); b.Property("RaidRestrictionDto") .HasColumnType("jsonb"); b.Property("RainbowBattleLeaverBusterDto") .HasColumnType("jsonb"); b.Property("Reput") .HasColumnType("bigint"); b.Property("RespawnType") .HasColumnType("integer"); b.Property("ReturnPoint") .HasColumnType("jsonb"); b.Property("Slot") .HasColumnType("smallint"); b.Property("SpPointsBasic") .HasColumnType("integer"); b.Property("SpPointsBonus") .HasColumnType("integer"); b.Property>("StaticBuffs") .HasColumnType("jsonb"); b.Property("TalentLose") .HasColumnType("integer"); b.Property("TalentSurrender") .HasColumnType("integer"); b.Property("TalentWin") .HasColumnType("integer"); b.Property>("Titles") .HasColumnType("jsonb"); b.Property("UiBlocked") .HasColumnType("boolean"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone"); b.Property("WhisperBlocked") .HasColumnType("boolean"); b.HasKey("Id"); b.HasIndex("AccountId"); b.ToTable("characters", "characters"); }); modelBuilder.Entity("Plugin.Database.Entities.ServerData.DbTimeSpaceRecord", b => { b.Property("TimeSpaceId") .HasColumnType("bigint"); b.Property("CharacterName") .HasColumnType("text"); b.Property("Date") .HasColumnType("timestamp without time zone"); b.Property("Record") .HasColumnType("bigint"); b.HasKey("TimeSpaceId"); b.ToTable("time_space_records", "characters"); }); modelBuilder.Entity("Plugin.Database.Families.DbFamily", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Achievements") .HasColumnType("jsonb"); b.Property("AssistantCanGetHistory") .HasColumnType("boolean"); b.Property("AssistantCanInvite") .HasColumnType("boolean"); b.Property("AssistantCanNotice") .HasColumnType("boolean"); b.Property("AssistantCanShout") .HasColumnType("boolean"); b.Property("AssistantWarehouseAuthorityType") .HasColumnType("smallint"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("DeletedAt") .HasColumnType("timestamp without time zone"); b.Property("Experience") .HasColumnType("bigint"); b.Property("Faction") .HasColumnType("smallint"); b.Property("HeadGender") .HasColumnType("smallint"); b.Property("Level") .HasColumnType("smallint"); b.Property("MemberCanGetHistory") .HasColumnType("boolean"); b.Property("MemberWarehouseAuthorityType") .HasColumnType("smallint"); b.Property("Message") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("Missions") .HasColumnType("jsonb"); b.Property("Name") .IsRequired() .HasMaxLength(30) .IsUnicode(true) .HasColumnType("character varying(30)"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone"); b.Property("Upgrades") .HasColumnType("jsonb"); b.HasKey("Id"); b.ToTable("families", "families"); }); modelBuilder.Entity("Plugin.Database.Families.DbFamilyLog", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Actor") .HasMaxLength(32) .HasColumnType("character varying(32)"); b.Property("Argument1") .HasMaxLength(16) .HasColumnType("character varying(16)"); b.Property("Argument2") .HasMaxLength(16) .HasColumnType("character varying(16)"); b.Property("Argument3") .HasMaxLength(16) .HasColumnType("character varying(16)"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("DeletedAt") .HasColumnType("timestamp without time zone"); b.Property("FamilyId") .HasColumnType("bigint"); b.Property("FamilyLogType") .HasColumnType("smallint"); b.Property("Timestamp") .HasColumnType("timestamp without time zone"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone"); b.HasKey("Id"); b.HasIndex("FamilyId"); b.ToTable("families_logs", "families"); }); modelBuilder.Entity("Plugin.Database.Families.DbFamilyMembership", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Authority") .HasColumnType("smallint"); b.Property("CharacterId") .HasColumnType("bigint"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("DailyMessage") .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("DeletedAt") .HasColumnType("timestamp without time zone"); b.Property("Experience") .HasColumnType("bigint"); b.Property("FamilyId") .HasColumnType("bigint"); b.Property("JoinDate") .HasColumnType("timestamp without time zone"); b.Property("LastOnlineDate") .HasColumnType("timestamp without time zone"); b.Property("Title") .HasColumnType("smallint"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone"); b.HasKey("Id"); b.HasIndex("CharacterId"); b.HasIndex("FamilyId"); b.ToTable("families_memberships", "families"); }); modelBuilder.Entity("Plugin.Database.Families.FamilyWarehouseItemEntity", b => { b.Property("FamilyId") .HasColumnType("bigint"); b.Property("Slot") .HasColumnType("smallint"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("DeletedAt") .HasColumnType("timestamp without time zone"); b.Property("ItemInstance") .HasColumnType("jsonb"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone"); b.HasKey("FamilyId", "Slot"); b.ToTable("families_warehouses", "families"); }); modelBuilder.Entity("Plugin.Database.Families.FamilyWarehouseLogEntity", b => { b.Property("FamilyId") .HasColumnType("bigint"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("DeletedAt") .HasColumnType("timestamp without time zone"); b.Property>("LogEntries") .HasColumnType("jsonb"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone"); b.HasKey("FamilyId"); b.ToTable("families_warehouses_logs", "families"); }); modelBuilder.Entity("Plugin.Database.Mail.DbCharacterMail", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("Date") .HasColumnType("timestamp without time zone"); b.Property("DeletedAt") .HasColumnType("timestamp without time zone"); b.Property("ItemInstance") .HasColumnType("jsonb"); b.Property("MailGiftType") .HasColumnType("integer"); b.Property("ReceiverId") .HasColumnType("bigint"); b.Property("SenderName") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone"); b.HasKey("Id"); b.HasIndex("ReceiverId"); b.ToTable("characters_mails", "mails"); }); modelBuilder.Entity("Plugin.Database.Mail.DbCharacterNote", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("Date") .HasColumnType("timestamp without time zone"); b.Property("DeletedAt") .HasColumnType("timestamp without time zone"); b.Property("EquipmentPackets") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("IsOpened") .HasColumnType("boolean"); b.Property("IsSenderCopy") .HasColumnType("boolean"); b.Property("Message") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("ReceiverId") .HasColumnType("bigint"); b.Property("ReceiverName") .HasColumnType("text"); b.Property("SenderClass") .HasColumnType("smallint"); b.Property("SenderGender") .HasColumnType("smallint"); b.Property("SenderHairColor") .HasColumnType("smallint"); b.Property("SenderHairStyle") .HasColumnType("smallint"); b.Property("SenderId") .HasColumnType("bigint"); b.Property("SenderName") .HasColumnType("text"); b.Property("Title") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone"); b.HasKey("Id"); b.HasIndex("ReceiverId"); b.HasIndex("SenderId"); b.ToTable("characters_notes", "mails"); }); modelBuilder.Entity("Plugin.Database.Warehouse.AccountWarehouseItemEntity", b => { b.Property("AccountId") .HasColumnType("bigint"); b.Property("Slot") .HasColumnType("smallint"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("DeletedAt") .HasColumnType("timestamp without time zone"); b.Property("ItemInstance") .HasColumnType("jsonb"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone"); b.HasKey("AccountId", "Slot"); b.ToTable("accounts_warehouse", "accounts"); }); modelBuilder.Entity("Plugin.Database.Bazaar.DbBazaarItemEntity", b => { b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "DbCharacter") .WithMany("BazaarItem") .HasForeignKey("CharacterId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("DbCharacter"); }); modelBuilder.Entity("Plugin.Database.Entities.Account.AccountBanEntity", b => { b.HasOne("Plugin.Database.Entities.Account.AccountEntity", "AccountEntity") .WithMany("AccountBans") .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("AccountEntity"); }); modelBuilder.Entity("Plugin.Database.Entities.Account.AccountPenaltyEntity", b => { b.HasOne("Plugin.Database.Entities.Account.AccountEntity", "AccountEntity") .WithMany("AccountPenalties") .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("AccountEntity"); }); modelBuilder.Entity("Plugin.Database.Entities.PlayersData.CharacterRelationEntity", b => { b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "Source") .WithMany("SourceRelations") .HasForeignKey("CharacterId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "Target") .WithMany("TargetRelations") .HasForeignKey("RelatedCharacterId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Source"); b.Navigation("Target"); }); modelBuilder.Entity("Plugin.Database.Entities.PlayersData.DbCharacter", b => { b.HasOne("Plugin.Database.Entities.Account.AccountEntity", "AccountEntity") .WithMany("Character") .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("AccountEntity"); }); modelBuilder.Entity("Plugin.Database.Families.DbFamilyLog", b => { b.HasOne("Plugin.Database.Families.DbFamily", "Family") .WithMany("FamilyLogs") .HasForeignKey("FamilyId") .OnDelete(DeleteBehavior.NoAction) .IsRequired(); b.Navigation("Family"); }); modelBuilder.Entity("Plugin.Database.Families.DbFamilyMembership", b => { b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "DbCharacter") .WithMany("FamilyCharacter") .HasForeignKey("CharacterId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Plugin.Database.Families.DbFamily", "Family") .WithMany("FamilyCharacters") .HasForeignKey("FamilyId") .OnDelete(DeleteBehavior.NoAction) .IsRequired(); b.Navigation("DbCharacter"); b.Navigation("Family"); }); modelBuilder.Entity("Plugin.Database.Families.FamilyWarehouseItemEntity", b => { b.HasOne("Plugin.Database.Families.DbFamily", "Family") .WithMany("WarehouseItems") .HasForeignKey("FamilyId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Family"); }); modelBuilder.Entity("Plugin.Database.Families.FamilyWarehouseLogEntity", b => { b.HasOne("Plugin.Database.Families.DbFamily", "Family") .WithOne("WarehouseLogs") .HasForeignKey("Plugin.Database.Families.FamilyWarehouseLogEntity", "FamilyId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Family"); }); modelBuilder.Entity("Plugin.Database.Mail.DbCharacterMail", b => { b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "Receiver") .WithMany("ReceivedMails") .HasForeignKey("ReceiverId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Receiver"); }); modelBuilder.Entity("Plugin.Database.Mail.DbCharacterNote", b => { b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "Receiver") .WithMany("ReceivedNotes") .HasForeignKey("ReceiverId") .OnDelete(DeleteBehavior.NoAction) .IsRequired(); b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "Sender") .WithMany("SentNotes") .HasForeignKey("SenderId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Receiver"); b.Navigation("Sender"); }); modelBuilder.Entity("Plugin.Database.Warehouse.AccountWarehouseItemEntity", b => { b.HasOne("Plugin.Database.Entities.Account.AccountEntity", "Account") .WithMany("WarehouseItems") .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Account"); }); modelBuilder.Entity("Plugin.Database.Entities.Account.AccountEntity", b => { b.Navigation("AccountBans"); b.Navigation("AccountPenalties"); b.Navigation("Character"); b.Navigation("WarehouseItems"); }); modelBuilder.Entity("Plugin.Database.Entities.PlayersData.DbCharacter", b => { b.Navigation("BazaarItem"); b.Navigation("FamilyCharacter"); b.Navigation("ReceivedMails"); b.Navigation("ReceivedNotes"); b.Navigation("SentNotes"); b.Navigation("SourceRelations"); b.Navigation("TargetRelations"); }); modelBuilder.Entity("Plugin.Database.Families.DbFamily", b => { b.Navigation("FamilyCharacters"); b.Navigation("FamilyLogs"); b.Navigation("WarehouseItems"); b.Navigation("WarehouseLogs"); }); #pragma warning restore 612, 618 } } }