feat(bp): wire 4 new entities into DbContext + AddBattlePass migration
Adds DbSets and OnModelCreating config for BattlePassSeasonEntry, BattlePassRewardEntry, ViewerBattlePassProgressEntry, and ViewerBattlePassClaimEntry; generates migration 20260527021011_AddBattlePass with DDL-only CreateTable + CreateIndex calls and no InsertData. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -50,6 +50,10 @@ public class SVSimDbContext : DbContext
|
||||
public DbSet<UnlimitedRestrictionEntry> UnlimitedRestrictions => Set<UnlimitedRestrictionEntry>();
|
||||
public DbSet<LoadingExclusionCardEntry> LoadingExclusionCards => Set<LoadingExclusionCardEntry>();
|
||||
public DbSet<BattlePassLevelEntry> BattlePassLevels => Set<BattlePassLevelEntry>();
|
||||
public DbSet<BattlePassSeasonEntry> BattlePassSeasons => Set<BattlePassSeasonEntry>();
|
||||
public DbSet<BattlePassRewardEntry> BattlePassRewards => Set<BattlePassRewardEntry>();
|
||||
public DbSet<ViewerBattlePassProgressEntry> ViewerBattlePassProgress => Set<ViewerBattlePassProgressEntry>();
|
||||
public DbSet<ViewerBattlePassClaimEntry> ViewerBattlePassClaims => Set<ViewerBattlePassClaimEntry>();
|
||||
public DbSet<DailyLoginBonusEntry> DailyLoginBonuses => Set<DailyLoginBonusEntry>();
|
||||
public DbSet<BannerEntry> Banners => Set<BannerEntry>();
|
||||
public DbSet<ColosseumConfig> Colosseums => Set<ColosseumConfig>();
|
||||
@@ -207,6 +211,35 @@ public class SVSimDbContext : DbContext
|
||||
modelBuilder.Entity<StoryChapter>().HasIndex(c => new { c.SectionId, c.CharaId, c.ChapterId });
|
||||
modelBuilder.Entity<StoryChapter>().HasIndex(c => c.NextChapterId);
|
||||
|
||||
// --- Battle pass entities ---
|
||||
|
||||
modelBuilder.Entity<BattlePassSeasonEntry>(b =>
|
||||
{
|
||||
b.HasKey(e => e.Id);
|
||||
b.Property(e => e.Id).ValueGeneratedNever();
|
||||
b.HasIndex(e => new { e.StartDate, e.EndDate });
|
||||
b.HasMany(e => e.Rewards).WithOne(r => r.Season).HasForeignKey(r => r.SeasonId).OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<BattlePassRewardEntry>(b =>
|
||||
{
|
||||
b.HasKey(e => e.Id);
|
||||
b.HasIndex(e => new { e.SeasonId, e.Track, e.Level }).IsUnique();
|
||||
});
|
||||
|
||||
modelBuilder.Entity<ViewerBattlePassProgressEntry>(b =>
|
||||
{
|
||||
b.HasKey(e => e.Id);
|
||||
b.HasIndex(e => new { e.ViewerId, e.SeasonId }).IsUnique();
|
||||
});
|
||||
|
||||
modelBuilder.Entity<ViewerBattlePassClaimEntry>(b =>
|
||||
{
|
||||
b.HasKey(e => e.Id);
|
||||
b.HasIndex(e => new { e.ViewerId, e.SeasonId, e.Track, e.Level }).IsUnique();
|
||||
b.HasIndex(e => new { e.ViewerId, e.SeasonId });
|
||||
});
|
||||
|
||||
base.OnModelCreating(modelBuilder);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user