Merge branch 'worktree-agent-ae59040b377a324cb'

# Conflicts:
#	GerbilManagerWebAPI/ApplicationContext.cs
#	GerbilManagerWebAPI/Program.cs
#	gerbil-manager-web/e2e/mock-data.ts
#	gerbil-manager-web/src/pages/GerbilDetailPage.tsx
#	gerbil-manager-web/src/strings/de.ts
This commit is contained in:
2026-06-22 23:10:18 +02:00
16 changed files with 2520 additions and 2 deletions

View File

@@ -29,6 +29,7 @@ public class ApplicationContext : DbContext
public DbSet<SaleReservation> SaleReservations => Set<SaleReservation>();
public DbSet<WaitingListEntry> WaitingListEntries => Set<WaitingListEntry>();
public DbSet<ReturnRecord> ReturnRecords => Set<ReturnRecord>();
public DbSet<ExhibitionResult> ExhibitionResults => Set<ExhibitionResult>();
// Keep Gerbil.NameSearch in sync on every save (separator-insensitive search key),
// so it can never drift from Name regardless of which code path mutates the entity.
@@ -257,6 +258,14 @@ public class ApplicationContext : DbContext
e.HasIndex(r => r.CreatedAt);
});
// EXHIBITION: deliberately relationship-free (same pattern as Feedback). GerbilId is a
// plain nullable Guid column (no navigation property → EF creates NO foreign key), so the
// import re-ingest wipe of Gerbils never cascades into or breaks exhibition rows.
modelBuilder.Entity<ExhibitionResult>(e =>
{
e.HasIndex(x => x.GerbilId);
});
// DB-4: German collation on remaining searched/sorted text columns (Npgsql-only).
if (isNpgsql)
{