feat(inventory): add ViewerAcquireHistoryEntry entity + DbSet
Adds the ViewerAcquireHistoryEntry model (8 fields: Id, ViewerId, RewardType, RewardDetailId, RewardCount, AcquireType, Message, AcquireTime), registers DbSet<ViewerAcquireHistoryEntry> on SVSimDbContext, configures model (PK, FK cascade to Viewer, MaxLength 64 on Message, composite index on ViewerId/AcquireTime/Id), and adds a DbSet round-trip integration test. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -103,6 +103,7 @@ public class SVSimDbContext : DbContext
|
||||
|
||||
public DbSet<ViewerPresent> ViewerPresents => Set<ViewerPresent>();
|
||||
public DbSet<TutorialPresentEntry> TutorialPresentEntries => Set<TutorialPresentEntry>();
|
||||
public DbSet<ViewerAcquireHistoryEntry> ViewerAcquireHistory => Set<ViewerAcquireHistoryEntry>();
|
||||
|
||||
public DbSet<ArenaTwoPickReward> ArenaTwoPickRewards { get; set; } = null!;
|
||||
public DbSet<ViewerArenaTwoPickRun> ViewerArenaTwoPickRuns { get; set; } = null!;
|
||||
@@ -398,6 +399,19 @@ public class SVSimDbContext : DbContext
|
||||
b.Property(p => p.PresentId).HasMaxLength(64);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<ViewerAcquireHistoryEntry>(b =>
|
||||
{
|
||||
b.HasKey(e => e.Id);
|
||||
b.Property(e => e.Id).ValueGeneratedOnAdd();
|
||||
b.Property(e => e.Message).HasMaxLength(64).IsRequired();
|
||||
b.HasOne<Viewer>()
|
||||
.WithMany()
|
||||
.HasForeignKey(e => e.ViewerId)
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
b.HasIndex(e => new { e.ViewerId, e.AcquireTime, e.Id })
|
||||
.HasDatabaseName("IX_ViewerAcquireHistory_ViewerId_AcquireTime_Id");
|
||||
});
|
||||
|
||||
base.OnModelCreating(modelBuilder);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user