//
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
using SVSim.Database;
#nullable disable
namespace SVSim.Database.Migrations
{
[DbContext(typeof(SVSimDbContext))]
partial class SVSimDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.8")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.HasSequence("ShortUdidSequence")
.StartsAt(400000000L);
modelBuilder.Entity("DegreeEntryViewer", b =>
{
b.Property("DegreesId")
.HasColumnType("integer");
b.Property("ViewersId")
.HasColumnType("bigint");
b.HasKey("DegreesId", "ViewersId");
b.HasIndex("ViewersId");
b.ToTable("DegreeEntryViewer");
});
modelBuilder.Entity("EmblemEntryViewer", b =>
{
b.Property("EmblemsId")
.HasColumnType("integer");
b.Property("ViewersId")
.HasColumnType("bigint");
b.HasKey("EmblemsId", "ViewersId");
b.HasIndex("ViewersId");
b.ToTable("EmblemEntryViewer");
});
modelBuilder.Entity("LeaderSkinEntryViewer", b =>
{
b.Property("LeaderSkinsId")
.HasColumnType("integer");
b.Property("ViewersId")
.HasColumnType("bigint");
b.HasKey("LeaderSkinsId", "ViewersId");
b.HasIndex("ViewersId");
b.ToTable("LeaderSkinEntryViewer");
});
modelBuilder.Entity("MyPageBackgroundEntryViewer", b =>
{
b.Property("MyPageBackgroundsId")
.HasColumnType("integer");
b.Property("ViewersId")
.HasColumnType("bigint");
b.HasKey("MyPageBackgroundsId", "ViewersId");
b.HasIndex("ViewersId");
b.ToTable("MyPageBackgroundEntryViewer");
});
modelBuilder.Entity("SVSim.Database.Entities.Guild.Guild", b =>
{
b.Property("GuildId")
.HasColumnType("integer");
b.Property("Activity")
.HasColumnType("integer");
b.Property("BreakupAt")
.HasColumnType("timestamp with time zone");
b.Property("CreatedAt")
.HasColumnType("timestamp with time zone");
b.Property("Description")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("character varying(512)");
b.Property("EmblemId")
.HasColumnType("bigint");
b.Property("JoinCondition")
.HasColumnType("integer");
b.Property("LeaderViewerId")
.HasColumnType("bigint");
b.Property("Name")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)");
b.HasKey("GuildId");
b.HasIndex("Name");
b.ToTable("Guilds");
});
modelBuilder.Entity("SVSim.Database.Entities.Guild.GuildChatMessage", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("AuthorViewerId")
.HasColumnType("bigint");
b.Property("Body")
.IsRequired()
.HasColumnType("text");
b.Property("CreatedAt")
.HasColumnType("timestamp with time zone");
b.Property("DeckPayload")
.HasColumnType("jsonb");
b.Property("GuildId")
.HasColumnType("integer");
b.Property("MessageId")
.HasColumnType("integer");
b.Property("MessageType")
.HasColumnType("integer");
b.Property("ReplayPayload")
.HasColumnType("jsonb");
b.Property("RoomPayload")
.HasColumnType("jsonb");
b.HasKey("Id");
b.HasIndex("GuildId", "MessageId")
.IsUnique();
b.ToTable("GuildChatMessages");
});
modelBuilder.Entity("SVSim.Database.Entities.Guild.GuildInvite", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("CreatedAt")
.HasColumnType("timestamp with time zone");
b.Property("GuildId")
.HasColumnType("integer");
b.Property("InviteeViewerId")
.HasColumnType("bigint");
b.Property("InviterViewerId")
.HasColumnType("bigint");
b.Property("RespondedAt")
.HasColumnType("timestamp with time zone");
b.Property("Status")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("GuildId", "InviteeViewerId")
.IsUnique()
.HasFilter("\"Status\" = 0");
b.HasIndex("InviteeViewerId", "Status");
b.ToTable("GuildInvites");
});
modelBuilder.Entity("SVSim.Database.Entities.Guild.GuildJoinRequest", b =>
{
b.Property("GuildId")
.HasColumnType("integer");
b.Property("ViewerId")
.HasColumnType("bigint");
b.Property("CreatedAt")
.HasColumnType("timestamp with time zone");
b.Property("RespondedAt")
.HasColumnType("timestamp with time zone");
b.Property("Status")
.HasColumnType("integer");
b.HasKey("GuildId", "ViewerId");
b.HasIndex("GuildId", "Status");
b.HasIndex("ViewerId", "Status");
b.ToTable("GuildJoinRequests");
});
modelBuilder.Entity("SVSim.Database.Entities.Guild.GuildMember", b =>
{
b.Property("GuildId")
.HasColumnType("integer");
b.Property("ViewerId")
.HasColumnType("bigint");
b.Property("JoinedAt")
.HasColumnType("timestamp with time zone");
b.Property("Role")
.HasColumnType("integer");
b.HasKey("GuildId", "ViewerId");
b.HasIndex("ViewerId")
.IsUnique();
b.ToTable("GuildMembers");
});
modelBuilder.Entity("SVSim.Database.Entities.Story.SpecialBattleSetting", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("BanishEffectOverride")
.IsRequired()
.HasColumnType("text");
b.Property("ClassDestroyEffectOverride")
.HasColumnType("integer");
b.Property("EnemyAttachSkill")
.IsRequired()
.HasColumnType("text");
b.Property("EnemyStartLife")
.HasColumnType("integer");
b.Property("EnemyStartPp")
.HasColumnType("integer");
b.Property("IdOverrideInBattleLog")
.IsRequired()
.HasColumnType("text");
b.Property("Note")
.HasColumnType("text");
b.Property("PlayerAttachSkill")
.IsRequired()
.HasColumnType("text");
b.Property("PlayerFirstTurn")
.HasColumnType("integer");
b.Property("PlayerStartLife")
.HasColumnType("integer");
b.Property("PlayerStartPp")
.HasColumnType("integer");
b.Property("ResultSkip")
.HasColumnType("integer");
b.Property("SpecialTokenDrawEffectOverride")
.IsRequired()
.HasColumnType("text");
b.Property("TokenDrawEffectOverride")
.IsRequired()
.HasColumnType("text");
b.Property("VsEffectOverride")
.HasColumnType("integer");
b.HasKey("Id");
b.ToTable("SpecialBattleSettings");
});
modelBuilder.Entity("SVSim.Database.Entities.Story.StoryChapter", b =>
{
b.Property("StoryId")
.HasColumnType("integer");
b.Property("Battle3dFieldId")
.HasColumnType("integer");
b.Property("BattleExists")
.HasColumnType("boolean");
b.Property("BgFileName")
.IsRequired()
.HasColumnType("text");
b.Property("BgmId")
.IsRequired()
.HasColumnType("text");
b.Property("ChapterClearTextId")
.HasColumnType("text");
b.Property("ChapterEffectPath")
.HasColumnType("text");
b.Property("ChapterId")
.IsRequired()
.HasColumnType("text");
b.Property("CharaId")
.HasColumnType("integer");
b.Property("EnemyAiId")
.HasColumnType("integer");
b.Property("EnemyCharaId")
.HasColumnType("integer");
b.Property("EnemyClass")
.HasColumnType("integer");
b.Property("IsCameraMovable")
.HasColumnType("integer");
b.Property("IsMaintenanceChapter")
.HasColumnType("boolean");
b.Property("IsPlayAnotherEndAppearanceAnimation")
.HasColumnType("boolean");
b.Property("IsReleasedAnotherEnd")
.HasColumnType("boolean");
b.Property("IsSkipEnabled")
.HasColumnType("boolean");
b.Property("NextChapterId")
.IsRequired()
.HasColumnType("text");
b.Property("ReleasePoint")
.HasColumnType("integer");
b.Property("RequiredChapterId")
.HasColumnType("text");
b.Property("SectionId")
.HasColumnType("integer");
b.Property("SelectionDisplayPosition")
.HasColumnType("text");
b.Property("SelectionTextId")
.HasColumnType("text");
b.Property("ShowCoordinate")
.HasColumnType("integer");
b.Property("ShowSubtitles")
.HasColumnType("integer");
b.Property("SpecialBattleSettingId")
.HasColumnType("integer");
b.Property("UnlockText")
.HasColumnType("text");
b.Property("XCoordinate")
.HasColumnType("numeric");
b.Property("YCoordinate")
.HasColumnType("numeric");
b.HasKey("StoryId");
b.HasIndex("NextChapterId");
b.HasIndex("SpecialBattleSettingId");
b.HasIndex("SectionId", "CharaId", "ChapterId");
b.ToTable("StoryChapters");
});
modelBuilder.Entity("SVSim.Database.Entities.Story.StorySection", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("AllStoryOrderId")
.HasColumnType("integer");
b.Property("BackGroundId")
.HasColumnType("integer");
b.Property("ChapterSelectType")
.HasColumnType("integer");
b.Property("ImageName")
.IsRequired()
.HasColumnType("text");
b.Property("IsLeaderSelect")
.HasColumnType("boolean");
b.Property("IsPlayAnotherEndAppearanceAnimation")
.HasColumnType("boolean");
b.Property("IsSpoiler")
.HasColumnType("integer");
b.Property("IsUnderMaintenance")
.HasColumnType("boolean");
b.Property("NameTextKey")
.IsRequired()
.HasColumnType("text");
b.Property("OrderId")
.HasColumnType("integer");
b.Property("SpoilerMessage")
.IsRequired()
.HasColumnType("text");
b.Property("StoryApiType")
.HasColumnType("integer");
b.Property("StoryTypeOverwrite")
.HasColumnType("integer");
b.Property("WorldId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("WorldId");
b.ToTable("StorySections");
});
modelBuilder.Entity("SVSim.Database.Entities.Story.StoryWorld", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("PanelImageName")
.IsRequired()
.HasColumnType("text");
b.Property("RibbonText")
.IsRequired()
.HasColumnType("text");
b.Property("TitleTextKey")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("StoryWorlds");
});
modelBuilder.Entity("SVSim.Database.Entities.Story.ViewerStoryBranchUnlock", b =>
{
b.Property("ViewerId")
.HasColumnType("bigint");
b.Property("StoryId")
.HasColumnType("integer");
b.Property("UnlockedAt")
.HasColumnType("timestamp with time zone");
b.HasKey("ViewerId", "StoryId");
b.ToTable("ViewerStoryBranchUnlocks");
});
modelBuilder.Entity("SVSim.Database.Entities.Story.ViewerStoryProgress", b =>
{
b.Property("ViewerId")
.HasColumnType("bigint");
b.Property("StoryId")
.HasColumnType("integer");
b.Property("FinishedAt")
.HasColumnType("timestamp with time zone");
b.Property("IsFinish")
.HasColumnType("boolean");
b.Property("IsSkipped")
.HasColumnType("boolean");
b.Property("SkippedAt")
.HasColumnType("timestamp with time zone");
b.HasKey("ViewerId", "StoryId");
b.ToTable("ViewerStoryProgress");
});
modelBuilder.Entity("SVSim.Database.Models.AchievementCatalogEntry", b =>
{
b.Property("AchievementType")
.HasColumnType("integer");
b.Property("Level")
.HasColumnType("integer");
b.Property("EventArg")
.HasColumnType("integer");
b.Property("EventType")
.HasColumnType("text");
b.Property("Name")
.IsRequired()
.HasColumnType("text");
b.Property("OrderNum")
.HasColumnType("integer");
b.Property("RequireNumber")
.HasColumnType("integer");
b.Property("RewardDetailId")
.HasColumnType("bigint");
b.Property("RewardNumber")
.HasColumnType("integer");
b.Property("RewardType")
.HasColumnType("integer");
b.HasKey("AchievementType", "Level");
b.HasIndex("AchievementType");
b.HasIndex("EventType", "EventArg");
b.ToTable("AchievementCatalog");
});
modelBuilder.Entity("SVSim.Database.Models.ArenaSeasonConfig", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("Cost")
.HasColumnType("numeric(20,0)");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("Enable")
.HasColumnType("integer");
b.Property("FormatInfo")
.IsRequired()
.HasColumnType("jsonb");
b.Property("IsJoin")
.HasColumnType("boolean");
b.Property("Mode")
.HasColumnType("integer");
b.Property("RupyCost")
.HasColumnType("numeric(20,0)");
b.Property("TicketCost")
.HasColumnType("integer");
b.HasKey("Id");
b.ToTable("ArenaSeasons");
});
modelBuilder.Entity("SVSim.Database.Models.ArenaTwoPickReward", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("RewardGroup")
.HasColumnType("integer");
b.Property("RewardId")
.HasColumnType("bigint");
b.Property("RewardNum")
.HasColumnType("integer");
b.Property("RewardType")
.HasColumnType("integer");
b.Property("Weight")
.HasColumnType("integer");
b.Property("WinCount")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("WinCount");
b.HasIndex("WinCount", "RewardGroup", "RewardType", "RewardId", "RewardNum")
.IsUnique();
b.ToTable("ArenaTwoPickRewards");
});
modelBuilder.Entity("SVSim.Database.Models.AvatarAbilityEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("Ability")
.IsRequired()
.HasColumnType("text");
b.Property("AbilityCost")
.IsRequired()
.HasColumnType("text");
b.Property("AbilityDesc")
.IsRequired()
.HasColumnType("text");
b.Property("BattleStartFirstPlayerTurnBp")
.HasColumnType("integer");
b.Property("BattleStartMaxLife")
.HasColumnType("integer");
b.Property("BattleStartSecondPlayerTurnBp")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("LeaderSkinId")
.HasColumnType("integer");
b.Property("PassiveAbility")
.IsRequired()
.HasColumnType("text");
b.Property("PassiveAbilityDesc")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("AvatarAbilities");
});
modelBuilder.Entity("SVSim.Database.Models.BannerEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("ChangeTime")
.HasColumnType("integer");
b.Property("Click")
.IsRequired()
.HasColumnType("text");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("ImageName")
.IsRequired()
.HasColumnType("text");
b.Property("ImagePaths")
.IsRequired()
.HasColumnType("jsonb");
b.Property("RemainingTime")
.HasColumnType("integer");
b.Property("Status")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("Banners");
});
modelBuilder.Entity("SVSim.Database.Models.BattlePassLevelEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("Level")
.HasColumnType("integer");
b.Property("RequiredPoint")
.HasColumnType("integer");
b.HasKey("Id");
b.ToTable("BattlePassLevels");
});
modelBuilder.Entity("SVSim.Database.Models.BattlePassMonthlyMissionEntry", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("BattlePassPoint")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("EventArg")
.HasColumnType("integer");
b.Property("EventType")
.HasColumnType("text");
b.Property("Month")
.HasColumnType("integer");
b.Property("Name")
.IsRequired()
.HasColumnType("text");
b.Property("OrderNum")
.HasColumnType("integer");
b.Property("RequireNumber")
.HasColumnType("integer");
b.Property("RewardDetailId")
.HasColumnType("bigint");
b.Property("RewardNumber")
.HasColumnType("integer");
b.Property("RewardType")
.HasColumnType("integer");
b.Property("Year")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("Year", "Month");
b.HasIndex("Year", "Month", "OrderNum")
.IsUnique();
b.ToTable("BattlePassMonthlyMissions");
});
modelBuilder.Entity("SVSim.Database.Models.BattlePassRewardEntry", b =>
{
b.Property("Id")
.HasColumnType("bigint");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("IsAppealExclusion")
.HasColumnType("boolean");
b.Property("Level")
.HasColumnType("integer");
b.Property("RewardDetailId")
.HasColumnType("bigint");
b.Property("RewardNumber")
.HasColumnType("integer");
b.Property("RewardType")
.HasColumnType("integer");
b.Property("SeasonId")
.HasColumnType("integer");
b.Property("Track")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("SeasonId", "Track", "Level")
.IsUnique();
b.ToTable("BattlePassRewards");
});
modelBuilder.Entity("SVSim.Database.Models.BattlePassSeasonEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("CanPurchase")
.HasColumnType("boolean");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("Description")
.IsRequired()
.HasColumnType("text");
b.Property("EndDate")
.HasColumnType("timestamp with time zone");
b.Property("MaxLevel")
.HasColumnType("integer");
b.Property("Name")
.IsRequired()
.HasColumnType("text");
b.Property("PriceCrystal")
.HasColumnType("integer");
b.Property("StartDate")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.HasIndex("StartDate", "EndDate");
b.ToTable("BattlePassSeasons");
});
modelBuilder.Entity("SVSim.Database.Models.BattlefieldEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("IsOpen")
.HasColumnType("boolean");
b.Property("Name")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("Battlefields");
});
modelBuilder.Entity("SVSim.Database.Models.BotRosterEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("AiId")
.HasColumnType("integer");
b.Property("BattlePoint")
.HasColumnType("integer");
b.Property("CharaId")
.HasColumnType("integer");
b.Property("ClassId")
.HasColumnType("integer");
b.Property("CountryCode")
.IsRequired()
.HasColumnType("text");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("DegreeId")
.HasColumnType("integer");
b.Property("EmblemId")
.HasColumnType("integer");
b.Property("FieldId")
.HasColumnType("integer");
b.Property("IsMasterRank")
.HasColumnType("integer");
b.Property("IsOfficial")
.HasColumnType("integer");
b.Property("MasterPoint")
.HasColumnType("integer");
b.Property("Rank")
.HasColumnType("integer");
b.Property("SleeveId")
.HasColumnType("integer");
b.Property("UserName")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("BotRoster");
});
modelBuilder.Entity("SVSim.Database.Models.BuildDeckProductEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("DeckCode")
.IsRequired()
.HasColumnType("text");
b.Property("FeaturedCardId")
.HasColumnType("bigint");
b.Property("IntroPriceCrystal")
.HasColumnType("integer");
b.Property("IntroPriceRupy")
.HasColumnType("integer");
b.Property("IsEnabled")
.HasColumnType("boolean");
b.Property("LeaderId")
.HasColumnType("integer");
b.Property("ProductNameKey")
.IsRequired()
.HasColumnType("text");
b.Property("PurchaseNumMax")
.HasColumnType("integer");
b.Property("RegularPriceCrystal")
.HasColumnType("integer");
b.Property("RegularPriceRupy")
.HasColumnType("integer");
b.Property("SeriesId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("SeriesId");
b.ToTable("BuildDeckProducts");
});
modelBuilder.Entity("SVSim.Database.Models.BuildDeckSeriesEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("DrumrollPath")
.IsRequired()
.HasColumnType("text");
b.Property("IntroKey")
.IsRequired()
.HasColumnType("text");
b.Property("IsEnabled")
.HasColumnType("boolean");
b.Property("IsNew")
.HasColumnType("boolean");
b.Property("NameKey")
.IsRequired()
.HasColumnType("text");
b.Property("OrderIndex")
.HasColumnType("integer");
b.Property("TitlePath")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("BuildDeckSeries");
});
modelBuilder.Entity("SVSim.Database.Models.CardCosmeticReward", b =>
{
b.Property("CardId")
.HasColumnType("bigint");
b.Property