feat(missions): wire 6 entities into DbContext + AddMissionsAndAchievements migration
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -54,6 +54,12 @@ public class SVSimDbContext : DbContext
|
||||
public DbSet<BattlePassRewardEntry> BattlePassRewards => Set<BattlePassRewardEntry>();
|
||||
public DbSet<ViewerBattlePassProgressEntry> ViewerBattlePassProgress => Set<ViewerBattlePassProgressEntry>();
|
||||
public DbSet<ViewerBattlePassClaimEntry> ViewerBattlePassClaims => Set<ViewerBattlePassClaimEntry>();
|
||||
public DbSet<MissionCatalogEntry> MissionCatalog => Set<MissionCatalogEntry>();
|
||||
public DbSet<AchievementCatalogEntry> AchievementCatalog => Set<AchievementCatalogEntry>();
|
||||
public DbSet<BattlePassMonthlyMissionEntry> BattlePassMonthlyMissions => Set<BattlePassMonthlyMissionEntry>();
|
||||
public DbSet<ViewerMission> ViewerMissions => Set<ViewerMission>();
|
||||
public DbSet<ViewerAchievement> ViewerAchievements => Set<ViewerAchievement>();
|
||||
public DbSet<ViewerEventCounter> ViewerEventCounters => Set<ViewerEventCounter>();
|
||||
public DbSet<DailyLoginBonusEntry> DailyLoginBonuses => Set<DailyLoginBonusEntry>();
|
||||
public DbSet<BannerEntry> Banners => Set<BannerEntry>();
|
||||
public DbSet<ColosseumConfig> Colosseums => Set<ColosseumConfig>();
|
||||
@@ -242,6 +248,46 @@ public class SVSimDbContext : DbContext
|
||||
b.HasIndex(e => new { e.ViewerId, e.SeasonId });
|
||||
});
|
||||
|
||||
modelBuilder.Entity<MissionCatalogEntry>(b =>
|
||||
{
|
||||
b.HasKey(e => e.Id);
|
||||
b.Property(e => e.Id).ValueGeneratedNever();
|
||||
b.HasIndex(e => e.LotType);
|
||||
b.HasIndex(e => new { e.EventType, e.EventArg });
|
||||
});
|
||||
|
||||
modelBuilder.Entity<AchievementCatalogEntry>(b =>
|
||||
{
|
||||
b.HasKey(e => new { e.AchievementType, e.Level });
|
||||
b.HasIndex(e => e.AchievementType);
|
||||
b.HasIndex(e => new { e.EventType, e.EventArg });
|
||||
});
|
||||
|
||||
modelBuilder.Entity<BattlePassMonthlyMissionEntry>(b =>
|
||||
{
|
||||
b.HasKey(e => e.Id);
|
||||
b.HasIndex(e => new { e.Year, e.Month, e.OrderNum }).IsUnique();
|
||||
b.HasIndex(e => new { e.Year, e.Month });
|
||||
});
|
||||
|
||||
modelBuilder.Entity<ViewerMission>(b =>
|
||||
{
|
||||
b.HasKey(e => e.Id);
|
||||
b.HasIndex(e => new { e.ViewerId, e.Slot }).IsUnique();
|
||||
b.HasIndex(e => e.ViewerId);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<ViewerAchievement>(b =>
|
||||
{
|
||||
b.HasKey(e => new { e.ViewerId, e.AchievementType });
|
||||
});
|
||||
|
||||
modelBuilder.Entity<ViewerEventCounter>(b =>
|
||||
{
|
||||
b.HasKey(e => new { e.ViewerId, e.EventKey, e.Period });
|
||||
b.HasIndex(e => new { e.ViewerId, e.Period });
|
||||
});
|
||||
|
||||
base.OnModelCreating(modelBuilder);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user