diff --git a/SVSim.Database/Models/ViewerClaimedTutorialGift.cs b/SVSim.Database/Models/ViewerClaimedTutorialGift.cs
deleted file mode 100644
index b813767..0000000
--- a/SVSim.Database/Models/ViewerClaimedTutorialGift.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace SVSim.Database.Models;
-
-///
-/// Records that a viewer has claimed a specific tutorial gift present_id. Composite key
-/// (ViewerId, PresentId) — viewer can't claim the same present twice.
-///
-public class ViewerClaimedTutorialGift
-{
- public long ViewerId { get; set; }
- public string PresentId { get; set; } = string.Empty;
- public DateTime ClaimedAt { get; set; }
-
- public Viewer Viewer { get; set; } = null!;
-}
diff --git a/SVSim.Database/SVSimDbContext.cs b/SVSim.Database/SVSimDbContext.cs
index 0bfc5da..9e86c77 100644
--- a/SVSim.Database/SVSimDbContext.cs
+++ b/SVSim.Database/SVSimDbContext.cs
@@ -101,7 +101,6 @@ public class SVSimDbContext : DbContext
public DbSet ViewerStoryProgress => Set();
public DbSet ViewerStoryBranchUnlocks => Set();
- public DbSet ViewerClaimedTutorialGifts => Set();
public DbSet ViewerPresents => Set();
public DbSet ArenaTwoPickRewards { get; set; } = null!;
@@ -367,13 +366,6 @@ public class SVSimDbContext : DbContext
b.HasIndex(e => new { e.ViewerId, e.Period });
});
- modelBuilder.Entity(b =>
- {
- b.HasKey(g => new { g.ViewerId, g.PresentId });
- b.HasOne(g => g.Viewer).WithMany().HasForeignKey(g => g.ViewerId).OnDelete(DeleteBehavior.Cascade);
- b.Property(g => g.PresentId).HasMaxLength(64);
- });
-
modelBuilder.Entity(b =>
{
b.HasKey(p => p.Id);