//
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
using SVSim.Database;
#nullable disable
namespace SVSim.Database.Migrations
{
[DbContext(typeof(SVSimDbContext))]
[Migration("20260524224501_Initial")]
partial class Initial
{
///
protected override void BuildTargetModel(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.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.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("RewardData")
.IsRequired()
.HasColumnType("jsonb");
b.HasKey("Id");
b.ToTable("BattlePassLevels");
});
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.CardCosmeticReward", b =>
{
b.Property("CardId")
.HasColumnType("bigint");
b.Property("Type")
.HasColumnType("integer");
b.Property("CosmeticId")
.HasColumnType("bigint");
b.Property("Quantity")
.HasColumnType("integer");
b.HasKey("CardId", "Type", "CosmeticId");
b.HasIndex("CardId");
b.ToTable("CardCosmeticRewards");
});
modelBuilder.Entity("SVSim.Database.Models.ClassEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("Name")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("Classes");
});
modelBuilder.Entity("SVSim.Database.Models.ClassExpEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("NecessaryExp")
.HasColumnType("integer");
b.HasKey("Id");
b.ToTable("ClassExpCurve");
});
modelBuilder.Entity("SVSim.Database.Models.ColosseumConfig", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("CardPoolName")
.IsRequired()
.HasColumnType("text");
b.Property("ColosseumId")
.IsRequired()
.HasColumnType("text");
b.Property("ColosseumName")
.IsRequired()
.HasColumnType("text");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("DeckFormat")
.IsRequired()
.HasColumnType("text");
b.Property("EndTime")
.HasColumnType("timestamp with time zone");
b.Property("IsAllCardEnabled")
.HasColumnType("integer");
b.Property("IsColosseumPeriod")
.HasColumnType("boolean");
b.Property("IsDisplayTips")
.IsRequired()
.HasColumnType("text");
b.Property("IsNormalTwoPick")
.IsRequired()
.HasColumnType("text");
b.Property("IsRoundPeriod")
.HasColumnType("boolean");
b.Property("IsSpecialMode")
.IsRequired()
.HasColumnType("text");
b.Property("NowRound")
.IsRequired()
.HasColumnType("text");
b.Property("SalesPeriodInfo")
.IsRequired()
.HasColumnType("jsonb");
b.Property("StartTime")
.HasColumnType("timestamp with time zone");
b.Property("TipsId")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("Colosseums");
});
modelBuilder.Entity("SVSim.Database.Models.DailyLoginBonusEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("BonusData")
.IsRequired()
.HasColumnType("jsonb");
b.Property("BonusId")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.ToTable("DailyLoginBonuses");
});
modelBuilder.Entity("SVSim.Database.Models.DefaultDeckEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("CardIdArray")
.IsRequired()
.HasColumnType("jsonb");
b.Property("ClassId")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("DeckName")
.IsRequired()
.HasColumnType("text");
b.Property("DeckNo")
.HasColumnType("integer");
b.Property("LeaderSkinId")
.HasColumnType("integer");
b.Property("SleeveId")
.HasColumnType("bigint");
b.HasKey("Id");
b.ToTable("DefaultDecks");
});
modelBuilder.Entity("SVSim.Database.Models.DefaultLeaderSkinSettingEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("ClassId")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("IsRandomLeaderSkin")
.HasColumnType("integer");
b.Property("LeaderSkinId")
.HasColumnType("integer");
b.HasKey("Id");
b.ToTable("DefaultLeaderSkinSettings");
});
modelBuilder.Entity("SVSim.Database.Models.DegreeEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.ToTable("Degrees");
});
modelBuilder.Entity("SVSim.Database.Models.EmblemEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.ToTable("Emblems");
});
modelBuilder.Entity("SVSim.Database.Models.FeatureMaintenanceEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("Data")
.IsRequired()
.HasColumnType("jsonb");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("FeatureKey")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("FeatureMaintenances");
});
modelBuilder.Entity("SVSim.Database.Models.GameConfigSection", b =>
{
b.Property("SectionName")
.HasColumnType("text");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("ValueJson")
.IsRequired()
.HasColumnType("jsonb");
b.HasKey("SectionName");
b.ToTable("GameConfigs");
});
modelBuilder.Entity("SVSim.Database.Models.ItemEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("Name")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("Items");
});
modelBuilder.Entity("SVSim.Database.Models.LeaderSkinEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("ClassId")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("EmoteId")
.HasColumnType("integer");
b.Property("Name")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ClassId");
b.ToTable("LeaderSkins");
});
modelBuilder.Entity("SVSim.Database.Models.LoadingExclusionCardEntry", b =>
{
b.Property("Id")
.HasColumnType("bigint");
b.Property("CardId")
.HasColumnType("bigint");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.ToTable("LoadingExclusionCards");
});
modelBuilder.Entity("SVSim.Database.Models.MaintenanceCardEntry", b =>
{
b.Property("Id")
.HasColumnType("bigint");
b.Property("CardId")
.HasColumnType("bigint");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.ToTable("MaintenanceCards");
});
modelBuilder.Entity("SVSim.Database.Models.MasterPointRankingPeriodEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("BeginTime")
.HasColumnType("timestamp with time zone");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("EndTime")
.HasColumnType("timestamp with time zone");
b.Property("NecessaryScore")
.HasColumnType("bigint");
b.Property("PeriodNum")
.HasColumnType("integer");
b.HasKey("Id");
b.ToTable("MasterPointRankingPeriods");
});
modelBuilder.Entity("SVSim.Database.Models.MyPageBackgroundEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.ToTable("MyPageBackgrounds");
});
modelBuilder.Entity("SVSim.Database.Models.MyRotationAbilityEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("AbilityId")
.HasColumnType("integer");
b.Property("Data")
.IsRequired()
.HasColumnType("jsonb");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.ToTable("MyRotationAbilities");
});
modelBuilder.Entity("SVSim.Database.Models.MyRotationSettingEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("AbilitiesCsv")
.IsRequired()
.HasColumnType("text");
b.Property("CardSetIdsCsv")
.IsRequired()
.HasColumnType("text");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("ReprintedCardIds")
.IsRequired()
.HasColumnType("jsonb");
b.Property("RestrictedCardIds")
.IsRequired()
.HasColumnType("jsonb");
b.Property("RotationId")
.HasColumnType("integer");
b.HasKey("Id");
b.ToTable("MyRotationSettings");
});
modelBuilder.Entity("SVSim.Database.Models.PackConfigEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("BasePackId")
.HasColumnType("integer");
b.Property("CommenceDate")
.HasColumnType("timestamp with time zone");
b.Property("CompleteDate")
.HasColumnType("timestamp with time zone");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("GachaDetail")
.IsRequired()
.HasColumnType("text");
b.Property("GachaType")
.HasColumnType("integer");
b.Property("IsHide")
.HasColumnType("boolean");
b.Property("IsNew")
.HasColumnType("boolean");
b.Property("IsPreRelease")
.HasColumnType("boolean");
b.Property("OpenCountLimit")
.HasColumnType("integer");
b.Property("OverrideDrawEffectPackId")
.HasColumnType("integer");
b.Property("OverrideUiEffectPackId")
.HasColumnType("integer");
b.Property("PackCategory")
.HasColumnType("integer");
b.Property("PosterType")
.HasColumnType("integer");
b.Property("SalesPeriodTime")
.HasColumnType("timestamp with time zone");
b.Property("SleeveId")
.HasColumnType("integer");
b.Property("SpecialSleeveId")
.HasColumnType("integer");
b.HasKey("Id");
b.ToTable("Packs");
});
modelBuilder.Entity("SVSim.Database.Models.PaymentItemEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("ChargeCrystalNum")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("EndTime")
.HasColumnType("timestamp with time zone");
b.Property("FreeCrystalNum")
.HasColumnType("integer");
b.Property("ImageName")
.IsRequired()
.HasColumnType("text");
b.Property("IsResaleProduct")
.HasColumnType("integer");
b.Property("Name")
.IsRequired()
.HasColumnType("text");
b.Property("Price")
.HasColumnType("numeric");
b.Property("ProductId")
.HasColumnType("integer");
b.Property("PurchaseLimit")
.HasColumnType("integer");
b.Property("RemainingTime")
.HasColumnType("integer");
b.Property("ResaleStartDate")
.HasColumnType("timestamp with time zone");
b.Property("SpecialShopFlag")
.HasColumnType("integer");
b.Property("StartTime")
.HasColumnType("timestamp with time zone");
b.Property("StoreProductId")
.HasColumnType("bigint");
b.Property("Text")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("PaymentItems");
});
modelBuilder.Entity("SVSim.Database.Models.PracticeOpponentEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("AiDeckLevel")
.HasColumnType("integer");
b.Property("AiLogicLevel")
.HasColumnType("integer");
b.Property("AiMaxLife")
.HasColumnType("integer");
b.Property("Battle3dFieldId")
.IsRequired()
.HasColumnType("text");
b.Property("CharaId")
.HasColumnType("integer");
b.Property("ClassId")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("DegreeId")
.HasColumnType("integer");
b.Property("IsCampaignPractice")
.HasColumnType("boolean");
b.Property("IsMaintenance")
.HasColumnType("boolean");
b.Property("PracticeId")
.HasColumnType("integer");
b.Property("TextId")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("PracticeOpponents");
});
modelBuilder.Entity("SVSim.Database.Models.PreReleaseInfo", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("CardMasterId")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("DefaultCardMasterId")
.IsRequired()
.HasColumnType("text");
b.Property("DisplayEndTime")
.HasColumnType("timestamp with time zone");
b.Property("EndTime")
.HasColumnType("timestamp with time zone");
b.Property("FreeMatchStartTime")
.HasColumnType("timestamp with time zone");
b.Property("IsPreRotationFreeMatchTerm")
.HasColumnType("boolean");
b.Property("LatestReprintedBaseCardIds")
.IsRequired()
.HasColumnType("jsonb");
b.Property("NextCardSetId")
.IsRequired()
.HasColumnType("text");
b.Property("PreReleaseCardMasterId")
.IsRequired()
.HasColumnType("text");
b.Property("PreReleaseId")
.IsRequired()
.HasColumnType("text");
b.Property("ReprintedBaseCardIds")
.IsRequired()
.HasColumnType("jsonb");
b.Property("RotationCardSetIdList")
.IsRequired()
.HasColumnType("jsonb");
b.Property("StartTime")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.ToTable("PreReleaseInfos");
});
modelBuilder.Entity("SVSim.Database.Models.RankInfoEntry", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("AccumulateMasterPoint")
.HasColumnType("integer");
b.Property("AccumulatePoint")
.HasColumnType("integer");
b.Property("BaseAddBp")
.HasColumnType("integer");
b.Property("BaseDropBp")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("IsPromotionWar")
.HasColumnType("integer");
b.Property("LoseBonus")
.HasColumnType("double precision");
b.Property("LowerLimitPoint")
.HasColumnType("integer");
b.Property("MatchCount")
.HasColumnType("integer");
b.Property("MaxLoseBonus")
.HasColumnType("integer");
b.Property("MaxWinBonus")
.HasColumnType("integer");
b.Property("Name")
.IsRequired()
.HasColumnType("text");
b.Property("NecessaryPoint")
.HasColumnType("integer");
b.Property("NecessaryWin")
.HasColumnType("integer");
b.Property("ResetLose")
.HasColumnType("integer");
b.Property("StreakBonusPt")
.HasColumnType("integer");
b.Property("WinBonus")
.HasColumnType("double precision");
b.HasKey("Id");
b.ToTable("RankInfo");
});
modelBuilder.Entity("SVSim.Database.Models.ReprintedCardEntry", b =>
{
b.Property("Id")
.HasColumnType("bigint");
b.Property("CardId")
.HasColumnType("bigint");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.ToTable("ReprintedCards");
});
modelBuilder.Entity("SVSim.Database.Models.SealedConfig", b =>
{
b.Property("Id")
.HasColumnType("integer");
b.Property("CrystalCost")
.HasColumnType("integer");
b.Property("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property("DeckUsingNumMin")
.HasColumnType("integer");
b.Property("Enable")
.HasColumnType("integer");
b.Property("IsDeckCodeMaintenance")
.HasColumnType("boolean");
b.Property("IsJoin")
.HasColumnType("boolean");
b.Property("PackInfo")
.IsRequired()
.HasColumnType("jsonb");
b.Property