// <auto-generated />
using System;
using BLHX.Server.Common.Database;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;

#nullable disable

namespace BLHX.Server.Common.Migrations.Player
{
    [DbContext(typeof(PlayerContext))]
    partial class PlayerContextModelSnapshot : ModelSnapshot
    {
        protected override void BuildModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .HasAnnotation("ProductVersion", "8.0.2")
                .HasAnnotation("Proxies:ChangeTracking", false)
                .HasAnnotation("Proxies:CheckEquality", false)
                .HasAnnotation("Proxies:LazyLoading", true);

            modelBuilder.Entity("BLHX.Server.Common.Database.ChapterInfo", b =>
                {
                    b.Property<uint>("Id")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("PlayerUid")
                        .HasColumnType("INTEGER");

                    b.Property<string>("AiLists")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<string>("BattleStatistics")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<string>("BuffLists")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<string>("CellFlagLists")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<string>("CellLists")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<uint>("ChapterHp")
                        .HasColumnType("INTEGER");

                    b.Property<string>("ChapterStrategyLists")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<uint>("ContinuousKillCount")
                        .HasColumnType("INTEGER");

                    b.Property<string>("EscortLists")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<string>("ExtraFlagLists")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<string>("FleetDuties")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<string>("GroupLists")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<uint>("InitShipCount")
                        .HasColumnType("INTEGER");

                    b.Property<bool>("IsSubmarineAutoAttack")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("KillCount")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("LoopFlag")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("ModelActCount")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("MoveStepCount")
                        .HasColumnType("INTEGER");

                    b.Property<string>("OperationBuffs")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<uint>("Round")
                        .HasColumnType("INTEGER");

                    b.Property<DateTime>("Time")
                        .HasColumnType("TEXT");

                    b.HasKey("Id", "PlayerUid");

                    b.HasIndex("PlayerUid");

                    b.ToTable("ChapterInfoes");
                });

            modelBuilder.Entity("BLHX.Server.Common.Database.Player", b =>
                {
                    b.Property<uint>("Uid")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("INTEGER");

                    b.Property<uint>("AccPayLv")
                        .HasColumnType("INTEGER");

                    b.Property<string>("Adv")
                        .IsRequired()
                        .ValueGeneratedOnAdd()
                        .HasColumnType("TEXT")
                        .HasDefaultValue("");

                    b.Property<string>("Appreciation")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<uint>("AttackCount")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("BuyOilCount")
                        .HasColumnType("INTEGER");

                    b.Property<string>("CartoonCollectMarks")
                        .IsRequired()
                        .HasColumnType("TEXT");

                    b.Property<string>("CartoonReadMarks")
                        .IsRequired()
                        .HasColumnType("TEXT");

                    b.Property<string>("Characters")
                        .IsRequired()
                        .HasColumnType("TEXT");

                    b.Property<uint>("ChatMsgBanTime")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("ChatRoomId")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("ChildDisplay")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("CollectAttackCount")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("CommanderBagMax")
                        .HasColumnType("INTEGER");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("TEXT");

                    b.Property<uint?>("CurrentChapter")
                        .HasColumnType("INTEGER");

                    b.Property<string>("DisplayInfo")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<uint>("EquipBagMax")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("Exp")
                        .HasColumnType("INTEGER");

                    b.Property<string>("FlagLists")
                        .IsRequired()
                        .HasColumnType("TEXT");

                    b.Property<string>("Fleets")
                        .IsRequired()
                        .ValueGeneratedOnAdd()
                        .HasColumnType("jsonb")
                        .HasDefaultValue("[{\"Id\":1,\"Name\":null,\"ShipLists\":[1,2],\"Commanders\":[]},{\"Id\":2,\"Name\":null,\"ShipLists\":[],\"Commanders\":[]},{\"Id\":11,\"Name\":null,\"ShipLists\":[],\"Commanders\":[]},{\"Id\":12,\"Name\":null,\"ShipLists\":[],\"Commanders\":[]}]");

                    b.Property<uint>("GmFlag")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("GuideIndex")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("GuildWaitTime")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("Level")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("MarryShip")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("MaxRank")
                        .HasColumnType("INTEGER");

                    b.Property<string>("MedalIds")
                        .IsRequired()
                        .HasColumnType("TEXT");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("TEXT");

                    b.Property<uint>("PvpAttackCount")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("PvpWinCount")
                        .HasColumnType("INTEGER");

                    b.Property<string>("RandomShipLists")
                        .IsRequired()
                        .HasColumnType("TEXT");

                    b.Property<uint>("RandomShipMode")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("Rank")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("Rmb")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("ShipBagMax")
                        .HasColumnType("INTEGER");

                    b.Property<string>("ShipSkins")
                        .IsRequired()
                        .ValueGeneratedOnAdd()
                        .HasColumnType("jsonb")
                        .HasDefaultValue("[]");

                    b.Property<string>("Soundstories")
                        .IsRequired()
                        .HasColumnType("TEXT");

                    b.Property<string>("StoryLists")
                        .IsRequired()
                        .HasColumnType("TEXT");

                    b.Property<uint>("ThemeUploadNotAllowedTime")
                        .HasColumnType("INTEGER");

                    b.Property<string>("Token")
                        .IsRequired()
                        .HasColumnType("TEXT");

                    b.Property<uint>("WinCount")
                        .HasColumnType("INTEGER");

                    b.HasKey("Uid");

                    b.HasIndex("Token")
                        .IsUnique();

                    b.ToTable("Players");
                });

            modelBuilder.Entity("BLHX.Server.Common.Database.PlayerResource", b =>
                {
                    b.Property<uint>("Id")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("PlayerUid")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("Num")
                        .HasColumnType("INTEGER");

                    b.HasKey("Id", "PlayerUid");

                    b.HasIndex("PlayerUid");

                    b.ToTable("Resources");
                });

            modelBuilder.Entity("BLHX.Server.Common.Database.PlayerShip", b =>
                {
                    b.Property<uint>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("INTEGER");

                    b.Property<uint>("ActivityNpc")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("BluePrintFlag")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("CommanderId")
                        .HasColumnType("INTEGER");

                    b.Property<uint?>("CommonFlag")
                        .HasColumnType("INTEGER");

                    b.Property<string>("CoreLists")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("TEXT");

                    b.Property<uint>("Energy")
                        .HasColumnType("INTEGER");

                    b.Property<string>("EquipInfoLists")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<uint>("Exp")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("Intimacy")
                        .HasColumnType("INTEGER");

                    b.Property<bool>("IsLocked")
                        .HasColumnType("INTEGER");

                    b.Property<DateTime?>("LastChangeName")
                        .HasColumnType("TEXT");

                    b.Property<uint>("Level")
                        .HasColumnType("INTEGER");

                    b.Property<string>("MetaRepairLists")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<string>("Name")
                        .HasColumnType("TEXT");

                    b.Property<uint>("PlayerUid")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("Proficiency")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("Propose")
                        .HasColumnType("INTEGER");

                    b.Property<string>("SkillIdLists")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<uint>("SkinId")
                        .HasColumnType("INTEGER");

                    b.Property<string>("State")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<string>("StrengthLists")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.Property<uint>("TemplateId")
                        .HasColumnType("INTEGER");

                    b.Property<string>("TransformLists")
                        .IsRequired()
                        .HasColumnType("jsonb");

                    b.HasKey("Id");

                    b.HasIndex("PlayerUid");

                    b.ToTable("Ships");
                });

            modelBuilder.Entity("BLHX.Server.Common.Database.ResourceField", b =>
                {
                    b.Property<int>("Type")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("PlayerUid")
                        .HasColumnType("INTEGER");

                    b.Property<DateTime>("LastHarvestTime")
                        .HasColumnType("TEXT");

                    b.Property<uint>("Level")
                        .HasColumnType("INTEGER");

                    b.Property<DateTime>("UpgradeTime")
                        .HasColumnType("TEXT");

                    b.HasKey("Type", "PlayerUid");

                    b.HasIndex("PlayerUid");

                    b.ToTable("ResourceFields");
                });

            modelBuilder.Entity("BLHX.Server.Common.Proto.common.Idtimeinfo", b =>
                {
                    b.Property<uint>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("INTEGER");

                    b.Property<uint?>("PlayerUid")
                        .HasColumnType("INTEGER");

                    b.Property<uint?>("PlayerUid1")
                        .HasColumnType("INTEGER");

                    b.Property<uint>("Time")
                        .HasColumnType("INTEGER");

                    b.HasKey("Id");

                    b.HasIndex("PlayerUid");

                    b.HasIndex("PlayerUid1");

                    b.ToTable("Idtimeinfo");
                });

            modelBuilder.Entity("BLHX.Server.Common.Database.ChapterInfo", b =>
                {
                    b.HasOne("BLHX.Server.Common.Database.Player", "Player")
                        .WithMany("ChapterInfoes")
                        .HasForeignKey("PlayerUid")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Player");
                });

            modelBuilder.Entity("BLHX.Server.Common.Database.Player", b =>
                {
                    b.OwnsOne("System.Collections.Generic.List<BLHX.Server.Common.Proto.common.RefundShopinfo>", "RefundShopInfoLists", b1 =>
                        {
                            b1.Property<uint>("PlayerUid")
                                .HasColumnType("INTEGER");

                            b1.Property<int>("Capacity")
                                .HasColumnType("INTEGER");

                            b1.HasKey("PlayerUid");

                            b1.ToTable("Players");

                            b1.WithOwner()
                                .HasForeignKey("PlayerUid");
                        });

                    b.OwnsOne("System.Collections.Generic.List<BLHX.Server.Common.Proto.p11.Cardinfo>", "CardLists", b1 =>
                        {
                            b1.Property<uint>("PlayerUid")
                                .HasColumnType("INTEGER");

                            b1.Property<int>("Capacity")
                                .HasColumnType("INTEGER");

                            b1.HasKey("PlayerUid");

                            b1.ToTable("Players");

                            b1.WithOwner()
                                .HasForeignKey("PlayerUid");
                        });

                    b.OwnsOne("System.Collections.Generic.List<BLHX.Server.Common.Proto.p11.Cooldown>", "CdLists", b1 =>
                        {
                            b1.Property<uint>("PlayerUid")
                                .HasColumnType("INTEGER");

                            b1.Property<int>("Capacity")
                                .HasColumnType("INTEGER");

                            b1.HasKey("PlayerUid");

                            b1.ToTable("Players");

                            b1.WithOwner()
                                .HasForeignKey("PlayerUid");
                        });

                    b.OwnsOne("System.Collections.Generic.List<BLHX.Server.Common.Proto.p11.ShipTakingData>", "TakingShipLists", b1 =>
                        {
                            b1.Property<uint>("PlayerUid")
                                .HasColumnType("INTEGER");

                            b1.Property<int>("Capacity")
                                .HasColumnType("INTEGER");

                            b1.HasKey("PlayerUid");

                            b1.ToTable("Players");

                            b1.WithOwner()
                                .HasForeignKey("PlayerUid");
                        });

                    b.Navigation("CardLists")
                        .IsRequired();

                    b.Navigation("CdLists")
                        .IsRequired();

                    b.Navigation("RefundShopInfoLists")
                        .IsRequired();

                    b.Navigation("TakingShipLists")
                        .IsRequired();
                });

            modelBuilder.Entity("BLHX.Server.Common.Database.PlayerResource", b =>
                {
                    b.HasOne("BLHX.Server.Common.Database.Player", "Player")
                        .WithMany("Resources")
                        .HasForeignKey("PlayerUid")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Player");
                });

            modelBuilder.Entity("BLHX.Server.Common.Database.PlayerShip", b =>
                {
                    b.HasOne("BLHX.Server.Common.Database.Player", "Player")
                        .WithMany("Ships")
                        .HasForeignKey("PlayerUid")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Player");
                });

            modelBuilder.Entity("BLHX.Server.Common.Database.ResourceField", b =>
                {
                    b.HasOne("BLHX.Server.Common.Database.Player", "Player")
                        .WithMany("ResourceFields")
                        .HasForeignKey("PlayerUid")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Player");
                });

            modelBuilder.Entity("BLHX.Server.Common.Proto.common.Idtimeinfo", b =>
                {
                    b.HasOne("BLHX.Server.Common.Database.Player", null)
                        .WithMany("ChatFrameLists")
                        .HasForeignKey("PlayerUid");

                    b.HasOne("BLHX.Server.Common.Database.Player", null)
                        .WithMany("IconFrameLists")
                        .HasForeignKey("PlayerUid1");
                });

            modelBuilder.Entity("BLHX.Server.Common.Database.Player", b =>
                {
                    b.Navigation("ChapterInfoes");

                    b.Navigation("ChatFrameLists");

                    b.Navigation("IconFrameLists");

                    b.Navigation("ResourceFields");

                    b.Navigation("Resources");

                    b.Navigation("Ships");
                });
#pragma warning restore 612, 618
        }
    }
}
