From 1ee176a24aed79936499c4ad5339d4820014b645 Mon Sep 17 00:00:00 2001 From: Gulum Date: Sat, 6 Jun 2026 15:36:16 +0200 Subject: [PATCH 1/2] SEED-HELL: Backend-ColorVariety-Seed 61->66 (GEN-3g CP-*-Hell) Kevin GEN-3g fuegt 5 CP-*-Hell-Varianten ein (hell = cchmch): CP-Agouti-Hell, CP-Silberagouti-Hell, CP-Algierfuchs-Hell, CP-Polarfuchs-Hell, CP-Orangeschimmel-Hell. Eintraege 0-53 (PEW..CP-Agouti) unveraendert. Eintraege 54-61 werden durch UpdateData in den bestehenden IDs 55-61 umgeschrieben (EF-Rename- in-Place-Shift): CP-Silberagouti/Algierfuchs/Polarfuchs/Fuchs/Fuchs-Hell/ Blaufuchs/Orangeschimmel ruecken um +1 bis +4 Positionen. 5 echte Neu- Eintraege als InsertData in IDs 62-66. Migration: 7 UpdateData + 5 InsertData, keine DeleteData, kein Datenverlust ausser theoretischer Gerbil.ColorVarietyId-FK-Drift fuer die CP-Varianten (ON DELETE SET NULL + Re-Import re-matcht per Name). Gate: 126/126 C#-Tests, has-pending-model-changes = No. Co-Authored-By: Claude Sonnet 4.6 (1M context) --- GerbilManagerWebAPI/ApplicationContext.cs | 25 +- ...3459_ReseedColorVarietiesGen3g.Designer.cs | 1337 +++++++++++++++++ ...0260606133459_ReseedColorVarietiesGen3g.cs | 156 ++ .../ApplicationContextModelSnapshot.cs | 61 +- 4 files changed, 1558 insertions(+), 21 deletions(-) create mode 100644 GerbilManagerWebAPI/Migrations/20260606133459_ReseedColorVarietiesGen3g.Designer.cs create mode 100644 GerbilManagerWebAPI/Migrations/20260606133459_ReseedColorVarietiesGen3g.cs diff --git a/GerbilManagerWebAPI/ApplicationContext.cs b/GerbilManagerWebAPI/ApplicationContext.cs index 1db676b..96c7fc6 100644 --- a/GerbilManagerWebAPI/ApplicationContext.cs +++ b/GerbilManagerWebAPI/ApplicationContext.cs @@ -231,6 +231,10 @@ public class ApplicationContext : DbContext /// private static void SeedColorVarieties(ModelBuilder modelBuilder) { + // GEN-3g (Kevin): 5 CP-*-Hell variants added (interleaved with base CP varieties). + // Entries 0-53 (PEW..CP-Agouti) are unchanged. Entries 54+ shift by +1 or +2 where + // the new -Hell variants are inserted; IDs follow the i+1 formula. ON DELETE SET NULL + // on Gerbil.ColorVarietyId means the FK drift is safe; re-import re-links by name. (string Name, string Genotype)[] catalog = { ("Pink Eyed White (PEW)", "AA chch DD EE GG pp spsp rere"), @@ -286,14 +290,19 @@ public class ApplicationContext : DbContext ("Marder", "aa cchmcchm DD EE GG PP spsp rere"), ("Siam", "aa cchmch DD EE GG PP spsp rere"), ("Zobel-Hell", "aa cchmch DD EE gg PP spsp rere"), - ("CP-Agouti", "AA cchmcchm DD EE GG PP spsp rere"), - ("CP-Silberagouti", "AA cchmcchm DD EE gg PP spsp rere"), - ("CP-Algierfuchs", "AA cchmcchm DD ee GG PP spsp rere"), - ("CP-Polarfuchs", "AA cchmcchm DD ee gg PP spsp rere"), - ("CP-Fuchs", "AA cchmcchm dd ee GG PP spsp rere"), - ("CP-Fuchs-Hell", "AA cchmch dd ee GG PP spsp rere"), - ("CP-Blaufuchs", "AA cchmcchm dd ee gg PP spsp rere"), - ("CP-Orangeschimmel", "AA cchmcchm DD efef GG PP spsp rere"), + ("CP-Agouti", "AA cchmcchm DD EE GG PP spsp rere"), + ("CP-Agouti-Hell", "AA cchmch DD EE GG PP spsp rere"), // GEN-3g + ("CP-Silberagouti", "AA cchmcchm DD EE gg PP spsp rere"), + ("CP-Silberagouti-Hell","AA cchmch DD EE gg PP spsp rere"), // GEN-3g + ("CP-Algierfuchs", "AA cchmcchm DD ee GG PP spsp rere"), + ("CP-Algierfuchs-Hell", "AA cchmch DD ee GG PP spsp rere"), // GEN-3g + ("CP-Polarfuchs", "AA cchmcchm DD ee gg PP spsp rere"), + ("CP-Polarfuchs-Hell", "AA cchmch DD ee gg PP spsp rere"), // GEN-3g + ("CP-Fuchs", "AA cchmcchm dd ee GG PP spsp rere"), + ("CP-Fuchs-Hell", "AA cchmch dd ee GG PP spsp rere"), + ("CP-Blaufuchs", "AA cchmcchm dd ee gg PP spsp rere"), + ("CP-Orangeschimmel", "AA cchmcchm DD efef GG PP spsp rere"), + ("CP-Orangeschimmel-Hell","AA cchmch DD efef GG PP spsp rere"), // GEN-3g }; var rows = new ColorVariety[catalog.Length]; diff --git a/GerbilManagerWebAPI/Migrations/20260606133459_ReseedColorVarietiesGen3g.Designer.cs b/GerbilManagerWebAPI/Migrations/20260606133459_ReseedColorVarietiesGen3g.Designer.cs new file mode 100644 index 0000000..3038dc2 --- /dev/null +++ b/GerbilManagerWebAPI/Migrations/20260606133459_ReseedColorVarietiesGen3g.Designer.cs @@ -0,0 +1,1337 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace GerbilManagerWebAPI.Migrations +{ + [DbContext(typeof(ApplicationContext))] + [Migration("20260606133459_ReseedColorVarietiesGen3g")] + partial class ReseedColorVarietiesGen3g + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "10.0.8") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.Block", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Data") + .IsRequired() + .HasColumnType("text"); + + b.Property("Order") + .HasColumnType("integer"); + + b.Property("PageId") + .HasColumnType("uuid"); + + b.Property("Type") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("PageId"); + + b.ToTable("Blocks"); + + b.HasData( + new + { + Id = new Guid("51720002-0000-0000-0000-000000000001"), + Data = "{\"text\":\"Startseite\",\"level\":1}", + Order = 0, + PageId = new Guid("51720001-0000-0000-0000-000000000001"), + Type = "Heading" + }, + new + { + Id = new Guid("51720002-0000-0000-0000-000000000002"), + Data = "{\"text\":\"Über die Zucht\",\"level\":1}", + Order = 0, + PageId = new Guid("51720001-0000-0000-0000-000000000002"), + Type = "Heading" + }, + new + { + Id = new Guid("51720002-0000-0000-0000-000000000003"), + Data = "{\"text\":\"Abgabetiere\",\"level\":1}", + Order = 0, + PageId = new Guid("51720001-0000-0000-0000-000000000003"), + Type = "Heading" + }, + new + { + Id = new Guid("51720002-0000-0000-0000-000000000004"), + Data = "{\"text\":\"Abgabebedingungen\",\"level\":1}", + Order = 0, + PageId = new Guid("51720001-0000-0000-0000-000000000004"), + Type = "Heading" + }, + new + { + Id = new Guid("51720002-0000-0000-0000-000000000005"), + Data = "{\"text\":\"Farben & Genetik\",\"level\":1}", + Order = 0, + PageId = new Guid("51720001-0000-0000-0000-000000000005"), + Type = "Heading" + }, + new + { + Id = new Guid("51720002-0000-0000-0000-000000000006"), + Data = "{\"text\":\"Kontakt\",\"level\":1}", + Order = 0, + PageId = new Guid("51720001-0000-0000-0000-000000000006"), + Type = "Heading" + }, + new + { + Id = new Guid("51720002-0000-0000-0000-000000000010"), + Data = "{\"mode\":\"auto\",\"intro\":\"\"}", + Order = 1, + PageId = new Guid("51720001-0000-0000-0000-000000000003"), + Type = "AbgabetiereList" + }); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.BreederSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Address") + .IsRequired() + .HasColumnType("text"); + + b.Property("City") + .IsRequired() + .HasColumnType("text"); + + b.Property("Email") + .IsRequired() + .HasColumnType("text"); + + b.Property("Homepage") + .IsRequired() + .HasColumnType("text"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Phone") + .IsRequired() + .HasColumnType("text"); + + b.Property("ZuchtName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("BreederSettings"); + + b.HasData( + new + { + Id = new Guid("11111111-1111-1111-1111-000000000001"), + Address = "", + City = "", + Email = "", + Homepage = "", + Name = "", + Phone = "", + ZuchtName = "" + }); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.ColorVariety", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CanonicalGenotype") + .HasColumnType("text"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("SortOrder") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.ToTable("ColorVarieties"); + + b.HasData( + new + { + Id = new Guid("00000000-0000-0000-0000-000000000001"), + CanonicalGenotype = "AA chch DD EE GG pp spsp rere", + Name = "Pink Eyed White (PEW)", + SortOrder = 0 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000002"), + CanonicalGenotype = "aa chch DD EE GG PP spsp rere", + Name = "Hermelin", + SortOrder = 1 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000003"), + CanonicalGenotype = "AA chch DD EE GG PP spsp rere", + Name = "Himalaya", + SortOrder = 2 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000004"), + CanonicalGenotype = "aa cchmcchm DD EE gg PP spsp rere", + Name = "Zobel", + SortOrder = 3 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000005"), + CanonicalGenotype = "AA CC DD efef GG pp spsp rere", + Name = "Rotaugenschimmel", + SortOrder = 4 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000006"), + CanonicalGenotype = "AA CC DD EE GG PP spsp rere", + Name = "Agouti", + SortOrder = 5 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000007"), + CanonicalGenotype = "aa CC DD EE GG PP spsp rere", + Name = "Schwarz", + SortOrder = 6 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000008"), + CanonicalGenotype = "AA CC DD EE gg PP spsp rere", + Name = "Silberagouti", + SortOrder = 7 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000009"), + CanonicalGenotype = "aa CC DD EE gg PP spsp rere", + Name = "Anthrazit", + SortOrder = 8 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000010"), + CanonicalGenotype = "AA CC DD ee GG PP spsp rere", + Name = "Algierfuchs", + SortOrder = 9 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000011"), + CanonicalGenotype = "aa CC dd EE GG PP spsp rere", + Name = "Blau", + SortOrder = 10 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000012"), + CanonicalGenotype = "AA CC DD EE GG pp spsp rere", + Name = "Gold", + SortOrder = 11 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000013"), + CanonicalGenotype = "aa CC DD EE GG pp spsp rere", + Name = "Platin", + SortOrder = 12 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000014"), + CanonicalGenotype = "AA CC DD ee GG pp spsp rere", + Name = "Goldfuchs", + SortOrder = 13 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000015"), + CanonicalGenotype = "aa CC DD ee GG pp spsp rere", + Name = "Rotfuchs", + SortOrder = 14 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000016"), + CanonicalGenotype = "AA CC dd EE GG pp spsp rere", + Name = "dd Gold", + SortOrder = 15 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000017"), + CanonicalGenotype = "aa CC dd EE GG pp spsp rere", + Name = "dd Platin", + SortOrder = 16 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000018"), + CanonicalGenotype = "aa CC DD EE gg pp spsp rere", + Name = "Altweiss (REW)", + SortOrder = 17 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000019"), + CanonicalGenotype = "AA CC DD ee gg pp spsp rere", + Name = "Apricot (Blassfuchs)", + SortOrder = 18 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000020"), + CanonicalGenotype = "aa CC DD ee gg PP spsp rere", + Name = "Blaufuchs", + SortOrder = 19 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000021"), + CanonicalGenotype = "aa CC DD ee gg pp spsp rere", + Name = "C-Separator", + SortOrder = 20 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000022"), + CanonicalGenotype = "AA CC DD EE gg pp spsp rere", + Name = "Elfenbein", + SortOrder = 21 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000023"), + CanonicalGenotype = "aa CC DD ee GG PP spsp rere", + Name = "Kohlfuchs", + SortOrder = 22 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000024"), + CanonicalGenotype = "AA CC DD ee gg PP spsp rere", + Name = "Polarfuchs", + SortOrder = 23 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000025"), + CanonicalGenotype = "aa CC DD EE GG pp spsp rere", + Name = "Saphir", + SortOrder = 24 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000026"), + CanonicalGenotype = "AA CC DD efef GG PP spsp rere", + Name = "Orangeschimmel", + SortOrder = 25 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000027"), + CanonicalGenotype = "AA CC DD EE GG pp spsp rere", + Name = "Topas", + SortOrder = 26 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000028"), + CanonicalGenotype = "aa CC DD EE GG pp spsp rere", + Name = "Platin-Hell", + SortOrder = 27 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000029"), + CanonicalGenotype = "AA CC dd EE GG PP spsp rere", + Name = "Agouti dd", + SortOrder = 28 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000030"), + CanonicalGenotype = "AA CC dd EE gg PP spsp rere", + Name = "Silberagouti dd", + SortOrder = 29 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000031"), + CanonicalGenotype = "aa CC dd ee GG PP spsp rere", + Name = "Kohlfuchs dd", + SortOrder = 30 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000032"), + CanonicalGenotype = "aa CC dd EE gg PP spsp rere", + Name = "Anthrazit dd", + SortOrder = 31 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000033"), + CanonicalGenotype = "AA CC DD efef gg PP spsp rere", + Name = "Silberschimmel", + SortOrder = 32 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000034"), + CanonicalGenotype = "AA CC DD efef gg PP spsp rere", + Name = "Polarfuchsschimmel", + SortOrder = 33 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000035"), + CanonicalGenotype = "AA CC DD efef GG PP spsp rere", + Name = "Algierfuchsschimmel", + SortOrder = 34 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000036"), + CanonicalGenotype = "aa CC DD efef GG PP spsp rere", + Name = "Kohlfuchsschimmel", + SortOrder = 35 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000037"), + CanonicalGenotype = "aa CC DD efef gg PP spsp rere", + Name = "Blaufuchsschimmel", + SortOrder = 36 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000038"), + CanonicalGenotype = "aa CC DD ee GG PP spsp rere", + Name = "Kohlfuchs, hell", + SortOrder = 37 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000039"), + CanonicalGenotype = "AA CC DD ee GG pp spsp rere", + Name = "Goldfuchs, hell", + SortOrder = 38 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000040"), + CanonicalGenotype = "AA CC DD efef GG pp spsp rere", + Name = "Goldfuchsschimmel", + SortOrder = 39 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000041"), + CanonicalGenotype = "AA CC DD EE GG pp spsp rere", + Name = "Gold-Hell", + SortOrder = 40 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000042"), + CanonicalGenotype = "aa CC DD ee gg PP spsp rere", + Name = "Blaufuchs, hell", + SortOrder = 41 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000043"), + CanonicalGenotype = "aa CC DD efef GG pp spsp rere", + Name = "Rotfuchsschimmel", + SortOrder = 42 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000044"), + CanonicalGenotype = "AA CC DD ee gg PP spsp rere", + Name = "Polarfuchs, hell", + SortOrder = 43 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000045"), + CanonicalGenotype = "aa CC DD efef GG PP spsp rere", + Name = "Kohlfuchsschimmel, hell", + SortOrder = 44 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000046"), + CanonicalGenotype = "aa CC DD ee GG pp spsp rere", + Name = "Rotfuchs, hell", + SortOrder = 45 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000047"), + CanonicalGenotype = "aa CC DD ee GG PP spsp rere", + Name = "Kohlfuchs-Hell", + SortOrder = 46 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000048"), + CanonicalGenotype = "AA CC DD ee GG PP spsp rere", + Name = "Algierfuchs, hell", + SortOrder = 47 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000049"), + CanonicalGenotype = "AA CC dd EE GG pp spsp rere", + Name = "Topas dd", + SortOrder = 48 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000050"), + CanonicalGenotype = "aa CC dd ee gg pp spsp rere", + Name = "Blaufuchs dd", + SortOrder = 49 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000051"), + CanonicalGenotype = "aa cchmcchm DD EE GG PP spsp rere", + Name = "Marder", + SortOrder = 50 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000052"), + CanonicalGenotype = "aa cchmch DD EE GG PP spsp rere", + Name = "Siam", + SortOrder = 51 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000053"), + CanonicalGenotype = "aa cchmch DD EE gg PP spsp rere", + Name = "Zobel-Hell", + SortOrder = 52 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000054"), + CanonicalGenotype = "AA cchmcchm DD EE GG PP spsp rere", + Name = "CP-Agouti", + SortOrder = 53 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000055"), + CanonicalGenotype = "AA cchmch DD EE GG PP spsp rere", + Name = "CP-Agouti-Hell", + SortOrder = 54 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000056"), + CanonicalGenotype = "AA cchmcchm DD EE gg PP spsp rere", + Name = "CP-Silberagouti", + SortOrder = 55 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000057"), + CanonicalGenotype = "AA cchmch DD EE gg PP spsp rere", + Name = "CP-Silberagouti-Hell", + SortOrder = 56 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000058"), + CanonicalGenotype = "AA cchmcchm DD ee GG PP spsp rere", + Name = "CP-Algierfuchs", + SortOrder = 57 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000059"), + CanonicalGenotype = "AA cchmch DD ee GG PP spsp rere", + Name = "CP-Algierfuchs-Hell", + SortOrder = 58 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000060"), + CanonicalGenotype = "AA cchmcchm DD ee gg PP spsp rere", + Name = "CP-Polarfuchs", + SortOrder = 59 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000061"), + CanonicalGenotype = "AA cchmch DD ee gg PP spsp rere", + Name = "CP-Polarfuchs-Hell", + SortOrder = 60 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000062"), + CanonicalGenotype = "AA cchmcchm dd ee GG PP spsp rere", + Name = "CP-Fuchs", + SortOrder = 61 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000063"), + CanonicalGenotype = "AA cchmch dd ee GG PP spsp rere", + Name = "CP-Fuchs-Hell", + SortOrder = 62 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000064"), + CanonicalGenotype = "AA cchmcchm dd ee gg PP spsp rere", + Name = "CP-Blaufuchs", + SortOrder = 63 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000065"), + CanonicalGenotype = "AA cchmcchm DD efef GG PP spsp rere", + Name = "CP-Orangeschimmel", + SortOrder = 64 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000066"), + CanonicalGenotype = "AA cchmch DD efef GG PP spsp rere", + Name = "CP-Orangeschimmel-Hell", + SortOrder = 65 + }); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.Contact", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Address") + .HasColumnType("text"); + + b.Property("Email") + .HasColumnType("text"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Notes") + .HasColumnType("text"); + + b.Property("Phone") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Contacts"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.Enclosure", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Notes") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Enclosures"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.Gerbil", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CauseOfDeath") + .HasColumnType("text"); + + b.Property("CharacterNote") + .HasColumnType("text"); + + b.Property("CharacterTraits") + .IsRequired() + .HasColumnType("text"); + + b.Property("ColorVarietyId") + .HasColumnType("uuid"); + + b.Property("DateOfBirth") + .HasColumnType("date"); + + b.Property("DateOfDeath") + .HasColumnType("date"); + + b.Property("EnclosureId") + .HasColumnType("uuid"); + + b.Property("ExternalRef") + .HasColumnType("text"); + + b.Property("Gender") + .IsRequired() + .HasColumnType("text"); + + b.Property("Genotype") + .HasColumnType("text"); + + b.Property("GoHomeDate") + .HasColumnType("date"); + + b.Property("ImportSource") + .HasColumnType("text"); + + b.Property("IsDeaf") + .HasColumnType("boolean"); + + b.Property("IsResident") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(true); + + b.Property("LitterId") + .HasColumnType("uuid"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("NameSearch") + .HasColumnType("text"); + + b.Property("Notes") + .HasColumnType("text"); + + b.Property("OriginBreeder") + .HasColumnType("text"); + + b.Property("OriginContactId") + .HasColumnType("uuid"); + + b.Property("RawImportData") + .HasColumnType("text"); + + b.Property("ReceiverContactId") + .HasColumnType("uuid"); + + b.Property("Status") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("ColorVarietyId"); + + b.HasIndex("EnclosureId"); + + b.HasIndex("LitterId"); + + b.HasIndex("OriginContactId"); + + b.HasIndex("ReceiverContactId"); + + b.ToTable("Gerbils"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.GerbilPhoto", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Caption") + .HasColumnType("text"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("FileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("GerbilId") + .HasColumnType("uuid"); + + b.Property("SortOrder") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("GerbilId"); + + b.ToTable("GerbilPhotos"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.HealthRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Date") + .HasColumnType("date"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("GerbilId") + .HasColumnType("uuid"); + + b.Property("Type") + .IsRequired() + .HasColumnType("text"); + + b.Property("Veterinarian") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("GerbilId"); + + b.ToTable("HealthRecords"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.Litter", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Date") + .HasColumnType("date"); + + b.Property("ExpectedGoHomeDate") + .HasColumnType("date"); + + b.Property("FatherId") + .HasColumnType("uuid"); + + b.Property("MotherId") + .HasColumnType("uuid"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Notes") + .HasColumnType("text"); + + b.Property("PairingCode") + .HasColumnType("text"); + + b.Property("TotalBorn") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("FatherId"); + + b.HasIndex("MotherId"); + + b.ToTable("Litters"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.MailSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AppPasswordProtected") + .HasColumnType("text"); + + b.Property("BackgroundPollEnabled") + .HasColumnType("boolean"); + + b.Property("Folder") + .IsRequired() + .HasColumnType("text"); + + b.Property("GmailAddress") + .HasColumnType("text"); + + b.Property("LastUid") + .HasColumnType("bigint"); + + b.Property("PollIntervalMinutes") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.ToTable("MailSettings"); + + b.HasData( + new + { + Id = new Guid("ab0c0000-0000-0000-0000-000000000001"), + BackgroundPollEnabled = false, + Folder = "INBOX", + LastUid = 0L, + PollIntervalMinutes = 15 + }); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.Media", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Alt") + .HasColumnType("text"); + + b.Property("FileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("Height") + .HasColumnType("integer"); + + b.Property("Url") + .IsRequired() + .HasColumnType("text"); + + b.Property("Width") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.ToTable("Media"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.Page", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("SeoDescription") + .HasColumnType("text"); + + b.Property("Slug") + .IsRequired() + .HasColumnType("text"); + + b.Property("Status") + .IsRequired() + .HasColumnType("text"); + + b.Property("Title") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("Slug") + .IsUnique(); + + b.ToTable("Pages"); + + b.HasData( + new + { + Id = new Guid("51720001-0000-0000-0000-000000000001"), + Slug = "start", + Status = "Published", + Title = "Startseite" + }, + new + { + Id = new Guid("51720001-0000-0000-0000-000000000002"), + Slug = "ueber-die-zucht", + Status = "Published", + Title = "Über die Zucht" + }, + new + { + Id = new Guid("51720001-0000-0000-0000-000000000003"), + Slug = "abgabetiere", + Status = "Published", + Title = "Abgabetiere" + }, + new + { + Id = new Guid("51720001-0000-0000-0000-000000000004"), + Slug = "abgabebedingungen", + Status = "Published", + Title = "Abgabebedingungen" + }, + new + { + Id = new Guid("51720001-0000-0000-0000-000000000005"), + Slug = "farben-genetik", + Status = "Published", + Title = "Farben & Genetik" + }, + new + { + Id = new Guid("51720001-0000-0000-0000-000000000006"), + Slug = "kontakt", + Status = "Published", + Title = "Kontakt" + }); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.Request", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AnsweredAt") + .HasColumnType("timestamp with time zone"); + + b.Property("AssignedContactId") + .HasColumnType("uuid"); + + b.Property("BodyText") + .HasColumnType("text"); + + b.Property("DraftReply") + .HasColumnType("text"); + + b.Property("FromAddress") + .IsRequired() + .HasColumnType("text"); + + b.Property("FromName") + .HasColumnType("text"); + + b.Property("GmailMessageId") + .IsRequired() + .HasColumnType("text"); + + b.Property("InReplyToMessageId") + .HasColumnType("text"); + + b.Property("ReceivedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("ReferencesHeader") + .HasColumnType("text"); + + b.Property("Status") + .IsRequired() + .HasColumnType("text"); + + b.Property("Subject") + .HasColumnType("text"); + + b.Property("ThreadId") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("AssignedContactId"); + + b.HasIndex("GmailMessageId") + .IsUnique(); + + b.ToTable("Requests"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.SaleContract", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ContactId") + .HasColumnType("uuid"); + + b.Property("ContractDate") + .HasColumnType("date"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("FileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("HandoverDate") + .HasColumnType("date"); + + b.Property("Price") + .HasPrecision(10, 2) + .HasColumnType("numeric(10,2)"); + + b.HasKey("Id"); + + b.HasIndex("ContactId"); + + b.ToTable("SaleContracts"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.SaleContractAnimal", b => + { + b.Property("SaleContractId") + .HasColumnType("uuid"); + + b.Property("GerbilId") + .HasColumnType("uuid"); + + b.HasKey("SaleContractId", "GerbilId"); + + b.HasIndex("GerbilId"); + + b.ToTable("SaleContractAnimal"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.Site", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("DefaultLocale") + .IsRequired() + .HasColumnType("text"); + + b.Property("NavOrder") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Sites"); + + b.HasData( + new + { + Id = new Guid("5172e000-0000-0000-0000-000000000001"), + DefaultLocale = "de", + NavOrder = "[\"51720001-0000-0000-0000-000000000001\",\"51720001-0000-0000-0000-000000000002\",\"51720001-0000-0000-0000-000000000003\",\"51720001-0000-0000-0000-000000000004\",\"51720001-0000-0000-0000-000000000005\",\"51720001-0000-0000-0000-000000000006\"]" + }); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.WeightRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Date") + .HasColumnType("date"); + + b.Property("GerbilId") + .HasColumnType("uuid"); + + b.Property("Notes") + .HasColumnType("text"); + + b.Property("WeightGrams") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("GerbilId"); + + b.ToTable("WeightRecords"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.Block", b => + { + b.HasOne("GerbilManagerWebAPI.Models.Page", null) + .WithMany("Blocks") + .HasForeignKey("PageId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.Gerbil", b => + { + b.HasOne("GerbilManagerWebAPI.Models.ColorVariety", "ColorVariety") + .WithMany() + .HasForeignKey("ColorVarietyId") + .OnDelete(DeleteBehavior.SetNull); + + b.HasOne("GerbilManagerWebAPI.Models.Enclosure", "Enclosure") + .WithMany("Gerbils") + .HasForeignKey("EnclosureId") + .OnDelete(DeleteBehavior.SetNull); + + b.HasOne("GerbilManagerWebAPI.Models.Litter", "Litter") + .WithMany() + .HasForeignKey("LitterId") + .OnDelete(DeleteBehavior.SetNull); + + b.HasOne("GerbilManagerWebAPI.Models.Contact", "OriginContact") + .WithMany() + .HasForeignKey("OriginContactId") + .OnDelete(DeleteBehavior.Restrict); + + b.HasOne("GerbilManagerWebAPI.Models.Contact", "ReceiverContact") + .WithMany() + .HasForeignKey("ReceiverContactId") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("ColorVariety"); + + b.Navigation("Enclosure"); + + b.Navigation("Litter"); + + b.Navigation("OriginContact"); + + b.Navigation("ReceiverContact"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.GerbilPhoto", b => + { + b.HasOne("GerbilManagerWebAPI.Models.Gerbil", null) + .WithMany() + .HasForeignKey("GerbilId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.HealthRecord", b => + { + b.HasOne("GerbilManagerWebAPI.Models.Gerbil", null) + .WithMany() + .HasForeignKey("GerbilId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.Litter", b => + { + b.HasOne("GerbilManagerWebAPI.Models.Gerbil", "Father") + .WithMany() + .HasForeignKey("FatherId") + .OnDelete(DeleteBehavior.Restrict); + + b.HasOne("GerbilManagerWebAPI.Models.Gerbil", "Mother") + .WithMany() + .HasForeignKey("MotherId") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("Father"); + + b.Navigation("Mother"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.Request", b => + { + b.HasOne("GerbilManagerWebAPI.Models.Contact", "AssignedContact") + .WithMany() + .HasForeignKey("AssignedContactId") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("AssignedContact"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.SaleContract", b => + { + b.HasOne("GerbilManagerWebAPI.Models.Contact", "Contact") + .WithMany() + .HasForeignKey("ContactId") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + + b.Navigation("Contact"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.SaleContractAnimal", b => + { + b.HasOne("GerbilManagerWebAPI.Models.Gerbil", "Gerbil") + .WithMany() + .HasForeignKey("GerbilId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("GerbilManagerWebAPI.Models.SaleContract", null) + .WithMany("Animals") + .HasForeignKey("SaleContractId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Gerbil"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.WeightRecord", b => + { + b.HasOne("GerbilManagerWebAPI.Models.Gerbil", null) + .WithMany() + .HasForeignKey("GerbilId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.Enclosure", b => + { + b.Navigation("Gerbils"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.Page", b => + { + b.Navigation("Blocks"); + }); + + modelBuilder.Entity("GerbilManagerWebAPI.Models.SaleContract", b => + { + b.Navigation("Animals"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/GerbilManagerWebAPI/Migrations/20260606133459_ReseedColorVarietiesGen3g.cs b/GerbilManagerWebAPI/Migrations/20260606133459_ReseedColorVarietiesGen3g.cs new file mode 100644 index 0000000..57c7746 --- /dev/null +++ b/GerbilManagerWebAPI/Migrations/20260606133459_ReseedColorVarietiesGen3g.cs @@ -0,0 +1,156 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional + +namespace GerbilManagerWebAPI.Migrations +{ + /// + public partial class ReseedColorVarietiesGen3g : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.UpdateData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000055"), + columns: new[] { "CanonicalGenotype", "Name" }, + values: new object[] { "AA cchmch DD EE GG PP spsp rere", "CP-Agouti-Hell" }); + + migrationBuilder.UpdateData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000056"), + columns: new[] { "CanonicalGenotype", "Name" }, + values: new object[] { "AA cchmcchm DD EE gg PP spsp rere", "CP-Silberagouti" }); + + migrationBuilder.UpdateData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000057"), + columns: new[] { "CanonicalGenotype", "Name" }, + values: new object[] { "AA cchmch DD EE gg PP spsp rere", "CP-Silberagouti-Hell" }); + + migrationBuilder.UpdateData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000058"), + columns: new[] { "CanonicalGenotype", "Name" }, + values: new object[] { "AA cchmcchm DD ee GG PP spsp rere", "CP-Algierfuchs" }); + + migrationBuilder.UpdateData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000059"), + columns: new[] { "CanonicalGenotype", "Name" }, + values: new object[] { "AA cchmch DD ee GG PP spsp rere", "CP-Algierfuchs-Hell" }); + + migrationBuilder.UpdateData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000060"), + columns: new[] { "CanonicalGenotype", "Name" }, + values: new object[] { "AA cchmcchm DD ee gg PP spsp rere", "CP-Polarfuchs" }); + + migrationBuilder.UpdateData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000061"), + columns: new[] { "CanonicalGenotype", "Name" }, + values: new object[] { "AA cchmch DD ee gg PP spsp rere", "CP-Polarfuchs-Hell" }); + + migrationBuilder.InsertData( + table: "ColorVarieties", + columns: new[] { "Id", "CanonicalGenotype", "Name", "SortOrder" }, + values: new object[,] + { + { new Guid("00000000-0000-0000-0000-000000000062"), "AA cchmcchm dd ee GG PP spsp rere", "CP-Fuchs", 61 }, + { new Guid("00000000-0000-0000-0000-000000000063"), "AA cchmch dd ee GG PP spsp rere", "CP-Fuchs-Hell", 62 }, + { new Guid("00000000-0000-0000-0000-000000000064"), "AA cchmcchm dd ee gg PP spsp rere", "CP-Blaufuchs", 63 }, + { new Guid("00000000-0000-0000-0000-000000000065"), "AA cchmcchm DD efef GG PP spsp rere", "CP-Orangeschimmel", 64 }, + { new Guid("00000000-0000-0000-0000-000000000066"), "AA cchmch DD efef GG PP spsp rere", "CP-Orangeschimmel-Hell", 65 } + }); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DeleteData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000062")); + + migrationBuilder.DeleteData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000063")); + + migrationBuilder.DeleteData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000064")); + + migrationBuilder.DeleteData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000065")); + + migrationBuilder.DeleteData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000066")); + + migrationBuilder.UpdateData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000055"), + columns: new[] { "CanonicalGenotype", "Name" }, + values: new object[] { "AA cchmcchm DD EE gg PP spsp rere", "CP-Silberagouti" }); + + migrationBuilder.UpdateData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000056"), + columns: new[] { "CanonicalGenotype", "Name" }, + values: new object[] { "AA cchmcchm DD ee GG PP spsp rere", "CP-Algierfuchs" }); + + migrationBuilder.UpdateData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000057"), + columns: new[] { "CanonicalGenotype", "Name" }, + values: new object[] { "AA cchmcchm DD ee gg PP spsp rere", "CP-Polarfuchs" }); + + migrationBuilder.UpdateData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000058"), + columns: new[] { "CanonicalGenotype", "Name" }, + values: new object[] { "AA cchmcchm dd ee GG PP spsp rere", "CP-Fuchs" }); + + migrationBuilder.UpdateData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000059"), + columns: new[] { "CanonicalGenotype", "Name" }, + values: new object[] { "AA cchmch dd ee GG PP spsp rere", "CP-Fuchs-Hell" }); + + migrationBuilder.UpdateData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000060"), + columns: new[] { "CanonicalGenotype", "Name" }, + values: new object[] { "AA cchmcchm dd ee gg PP spsp rere", "CP-Blaufuchs" }); + + migrationBuilder.UpdateData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000061"), + columns: new[] { "CanonicalGenotype", "Name" }, + values: new object[] { "AA cchmcchm DD efef GG PP spsp rere", "CP-Orangeschimmel" }); + } + } +} diff --git a/GerbilManagerWebAPI/Migrations/ApplicationContextModelSnapshot.cs b/GerbilManagerWebAPI/Migrations/ApplicationContextModelSnapshot.cs index 0149023..5f73404 100644 --- a/GerbilManagerWebAPI/Migrations/ApplicationContextModelSnapshot.cs +++ b/GerbilManagerWebAPI/Migrations/ApplicationContextModelSnapshot.cs @@ -560,51 +560,86 @@ namespace GerbilManagerWebAPI.Migrations new { Id = new Guid("00000000-0000-0000-0000-000000000055"), - CanonicalGenotype = "AA cchmcchm DD EE gg PP spsp rere", - Name = "CP-Silberagouti", + CanonicalGenotype = "AA cchmch DD EE GG PP spsp rere", + Name = "CP-Agouti-Hell", SortOrder = 54 }, new { Id = new Guid("00000000-0000-0000-0000-000000000056"), - CanonicalGenotype = "AA cchmcchm DD ee GG PP spsp rere", - Name = "CP-Algierfuchs", + CanonicalGenotype = "AA cchmcchm DD EE gg PP spsp rere", + Name = "CP-Silberagouti", SortOrder = 55 }, new { Id = new Guid("00000000-0000-0000-0000-000000000057"), - CanonicalGenotype = "AA cchmcchm DD ee gg PP spsp rere", - Name = "CP-Polarfuchs", + CanonicalGenotype = "AA cchmch DD EE gg PP spsp rere", + Name = "CP-Silberagouti-Hell", SortOrder = 56 }, new { Id = new Guid("00000000-0000-0000-0000-000000000058"), - CanonicalGenotype = "AA cchmcchm dd ee GG PP spsp rere", - Name = "CP-Fuchs", + CanonicalGenotype = "AA cchmcchm DD ee GG PP spsp rere", + Name = "CP-Algierfuchs", SortOrder = 57 }, new { Id = new Guid("00000000-0000-0000-0000-000000000059"), - CanonicalGenotype = "AA cchmch dd ee GG PP spsp rere", - Name = "CP-Fuchs-Hell", + CanonicalGenotype = "AA cchmch DD ee GG PP spsp rere", + Name = "CP-Algierfuchs-Hell", SortOrder = 58 }, new { Id = new Guid("00000000-0000-0000-0000-000000000060"), - CanonicalGenotype = "AA cchmcchm dd ee gg PP spsp rere", - Name = "CP-Blaufuchs", + CanonicalGenotype = "AA cchmcchm DD ee gg PP spsp rere", + Name = "CP-Polarfuchs", SortOrder = 59 }, new { Id = new Guid("00000000-0000-0000-0000-000000000061"), + CanonicalGenotype = "AA cchmch DD ee gg PP spsp rere", + Name = "CP-Polarfuchs-Hell", + SortOrder = 60 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000062"), + CanonicalGenotype = "AA cchmcchm dd ee GG PP spsp rere", + Name = "CP-Fuchs", + SortOrder = 61 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000063"), + CanonicalGenotype = "AA cchmch dd ee GG PP spsp rere", + Name = "CP-Fuchs-Hell", + SortOrder = 62 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000064"), + CanonicalGenotype = "AA cchmcchm dd ee gg PP spsp rere", + Name = "CP-Blaufuchs", + SortOrder = 63 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000065"), CanonicalGenotype = "AA cchmcchm DD efef GG PP spsp rere", Name = "CP-Orangeschimmel", - SortOrder = 60 + SortOrder = 64 + }, + new + { + Id = new Guid("00000000-0000-0000-0000-000000000066"), + CanonicalGenotype = "AA cchmch DD efef GG PP spsp rere", + Name = "CP-Orangeschimmel-Hell", + SortOrder = 65 }); }); From 8dfad329183c724e53b4817b1dfaab7f4c68fd47 Mon Sep 17 00:00:00 2001 From: Gulum Date: Sat, 6 Jun 2026 15:40:57 +0200 Subject: [PATCH 2/2] SEED-HELL v2: 5 CP-*-Hell ans Ende haengen (IDs 62-66, kein ID-Name-Drift) Erster Ansatz (Rename-in-Place-Shift) wuerde 17 Hand-zugewiesene Gerbil.ColorVarietyId-FKs still verfaelschen (1 Tier auf CP-Fuchs live bestaetigt). Stattdessen: 5 neue Eintraege ans ENDE gehaengt (IDs 62-66), die 61 bestehenden Eintraege unveraendert. Migration ReseedColorVarietiesGen3g: NUR 5 InsertData (IDs 62-66), kein UpdateData, kein DeleteData, keine FK-Drift moeglich. Neuer Test SeedGen3g_existing_varieties_preserve_id_name_binding: asserts CP-Fuchs (ID 58) bleibt CP-Fuchs, alle 5 neuen IDs 62-66 haben korrekte Namen, Gesamtzahl = 66. Gate: 127/127 C#-Tests, has-pending-model-changes = No. Co-Authored-By: Claude Sonnet 4.6 (1M context) --- GerbilManager.Tests/ImportServiceTests.cs | 26 +++ GerbilManagerWebAPI/ApplicationContext.cs | 35 ++-- ...0260606133459_ReseedColorVarietiesGen3g.cs | 156 ------------------ ...002_ReseedColorVarietiesGen3g.Designer.cs} | 46 +++--- ...0260606134002_ReseedColorVarietiesGen3g.cs | 58 +++++++ .../ApplicationContextModelSnapshot.cs | 44 ++--- 6 files changed, 147 insertions(+), 218 deletions(-) delete mode 100644 GerbilManagerWebAPI/Migrations/20260606133459_ReseedColorVarietiesGen3g.cs rename GerbilManagerWebAPI/Migrations/{20260606133459_ReseedColorVarietiesGen3g.Designer.cs => 20260606134002_ReseedColorVarietiesGen3g.Designer.cs} (97%) create mode 100644 GerbilManagerWebAPI/Migrations/20260606134002_ReseedColorVarietiesGen3g.cs diff --git a/GerbilManager.Tests/ImportServiceTests.cs b/GerbilManager.Tests/ImportServiceTests.cs index ffdb400..2f20bb1 100644 --- a/GerbilManager.Tests/ImportServiceTests.cs +++ b/GerbilManager.Tests/ImportServiceTests.cs @@ -545,6 +545,32 @@ namespace GerbilManager.Tests finally { try { Directory.Delete(dir, recursive: true); } catch { } } } + [Fact] + public void SeedGen3g_existing_varieties_preserve_id_name_binding() + { + // SEED-HELL bounce regression: the 61 existing entries must NOT change their + // Id->Name binding after GEN-3g. The 5 new entries (IDs 62-66) are appended. + // A hand-assigned Gerbil.ColorVarietyId pointing to "CP-Fuchs" (ID 58) must + // still map to CP-Fuchs after the migration runs (append-only, no rename-shift). + using var db = NewDb(); // EnsureCreated applies HasData including new 66-entry seed + + // ID 58 (index 57 in old catalog, 0-based) = CP-Fuchs — must still be CP-Fuchs + var cpFuchsId = new Guid("00000000-0000-0000-0000-000000000058"); + var cpFuchs = db.ColorVarieties.Find(cpFuchsId); + Assert.NotNull(cpFuchs); + Assert.Equal("CP-Fuchs", cpFuchs!.Name); + + // New entries at IDs 62-66 exist with correct names + Assert.Equal("CP-Agouti-Hell", db.ColorVarieties.Find(new Guid("00000000-0000-0000-0000-000000000062"))!.Name); + Assert.Equal("CP-Silberagouti-Hell", db.ColorVarieties.Find(new Guid("00000000-0000-0000-0000-000000000063"))!.Name); + Assert.Equal("CP-Algierfuchs-Hell", db.ColorVarieties.Find(new Guid("00000000-0000-0000-0000-000000000064"))!.Name); + Assert.Equal("CP-Polarfuchs-Hell", db.ColorVarieties.Find(new Guid("00000000-0000-0000-0000-000000000065"))!.Name); + Assert.Equal("CP-Orangeschimmel-Hell", db.ColorVarieties.Find(new Guid("00000000-0000-0000-0000-000000000066"))!.Name); + + // Total count is exactly 66 + Assert.Equal(66, db.ColorVarieties.Count()); + } + [Theory] [InlineData("01.02.2020", 2020, 2, 1)] [InlineData("5.3.21", 2021, 3, 5)] diff --git a/GerbilManagerWebAPI/ApplicationContext.cs b/GerbilManagerWebAPI/ApplicationContext.cs index 96c7fc6..0458967 100644 --- a/GerbilManagerWebAPI/ApplicationContext.cs +++ b/GerbilManagerWebAPI/ApplicationContext.cs @@ -231,10 +231,10 @@ public class ApplicationContext : DbContext /// private static void SeedColorVarieties(ModelBuilder modelBuilder) { - // GEN-3g (Kevin): 5 CP-*-Hell variants added (interleaved with base CP varieties). - // Entries 0-53 (PEW..CP-Agouti) are unchanged. Entries 54+ shift by +1 or +2 where - // the new -Hell variants are inserted; IDs follow the i+1 formula. ON DELETE SET NULL - // on Gerbil.ColorVarietyId means the FK drift is safe; re-import re-links by name. + // GEN-3g (Kevin): 5 CP-*-Hell variants appended at the end (IDs 62-66). + // Existing 61 entries are UNCHANGED (same ID->Name binding preserved). + // SortOrder for new entries is appended; Kevin's frontend catalog handles + // the interleaved display order via its own sortOrder values. (string Name, string Genotype)[] catalog = { ("Pink Eyed White (PEW)", "AA chch DD EE GG pp spsp rere"), @@ -290,19 +290,20 @@ public class ApplicationContext : DbContext ("Marder", "aa cchmcchm DD EE GG PP spsp rere"), ("Siam", "aa cchmch DD EE GG PP spsp rere"), ("Zobel-Hell", "aa cchmch DD EE gg PP spsp rere"), - ("CP-Agouti", "AA cchmcchm DD EE GG PP spsp rere"), - ("CP-Agouti-Hell", "AA cchmch DD EE GG PP spsp rere"), // GEN-3g - ("CP-Silberagouti", "AA cchmcchm DD EE gg PP spsp rere"), - ("CP-Silberagouti-Hell","AA cchmch DD EE gg PP spsp rere"), // GEN-3g - ("CP-Algierfuchs", "AA cchmcchm DD ee GG PP spsp rere"), - ("CP-Algierfuchs-Hell", "AA cchmch DD ee GG PP spsp rere"), // GEN-3g - ("CP-Polarfuchs", "AA cchmcchm DD ee gg PP spsp rere"), - ("CP-Polarfuchs-Hell", "AA cchmch DD ee gg PP spsp rere"), // GEN-3g - ("CP-Fuchs", "AA cchmcchm dd ee GG PP spsp rere"), - ("CP-Fuchs-Hell", "AA cchmch dd ee GG PP spsp rere"), - ("CP-Blaufuchs", "AA cchmcchm dd ee gg PP spsp rere"), - ("CP-Orangeschimmel", "AA cchmcchm DD efef GG PP spsp rere"), - ("CP-Orangeschimmel-Hell","AA cchmch DD efef GG PP spsp rere"), // GEN-3g + ("CP-Agouti", "AA cchmcchm DD EE GG PP spsp rere"), + ("CP-Silberagouti", "AA cchmcchm DD EE gg PP spsp rere"), + ("CP-Algierfuchs", "AA cchmcchm DD ee GG PP spsp rere"), + ("CP-Polarfuchs", "AA cchmcchm DD ee gg PP spsp rere"), + ("CP-Fuchs", "AA cchmcchm dd ee GG PP spsp rere"), + ("CP-Fuchs-Hell", "AA cchmch dd ee GG PP spsp rere"), + ("CP-Blaufuchs", "AA cchmcchm dd ee gg PP spsp rere"), + ("CP-Orangeschimmel", "AA cchmcchm DD efef GG PP spsp rere"), + // GEN-3g: 5 new CP-*-Hell variants appended (IDs 62-66, no ID->Name drift) + ("CP-Agouti-Hell", "AA cchmch DD EE GG PP spsp rere"), + ("CP-Silberagouti-Hell", "AA cchmch DD EE gg PP spsp rere"), + ("CP-Algierfuchs-Hell", "AA cchmch DD ee GG PP spsp rere"), + ("CP-Polarfuchs-Hell", "AA cchmch DD ee gg PP spsp rere"), + ("CP-Orangeschimmel-Hell","AA cchmch DD efef GG PP spsp rere"), }; var rows = new ColorVariety[catalog.Length]; diff --git a/GerbilManagerWebAPI/Migrations/20260606133459_ReseedColorVarietiesGen3g.cs b/GerbilManagerWebAPI/Migrations/20260606133459_ReseedColorVarietiesGen3g.cs deleted file mode 100644 index 57c7746..0000000 --- a/GerbilManagerWebAPI/Migrations/20260606133459_ReseedColorVarietiesGen3g.cs +++ /dev/null @@ -1,156 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional - -namespace GerbilManagerWebAPI.Migrations -{ - /// - public partial class ReseedColorVarietiesGen3g : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.UpdateData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000055"), - columns: new[] { "CanonicalGenotype", "Name" }, - values: new object[] { "AA cchmch DD EE GG PP spsp rere", "CP-Agouti-Hell" }); - - migrationBuilder.UpdateData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000056"), - columns: new[] { "CanonicalGenotype", "Name" }, - values: new object[] { "AA cchmcchm DD EE gg PP spsp rere", "CP-Silberagouti" }); - - migrationBuilder.UpdateData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000057"), - columns: new[] { "CanonicalGenotype", "Name" }, - values: new object[] { "AA cchmch DD EE gg PP spsp rere", "CP-Silberagouti-Hell" }); - - migrationBuilder.UpdateData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000058"), - columns: new[] { "CanonicalGenotype", "Name" }, - values: new object[] { "AA cchmcchm DD ee GG PP spsp rere", "CP-Algierfuchs" }); - - migrationBuilder.UpdateData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000059"), - columns: new[] { "CanonicalGenotype", "Name" }, - values: new object[] { "AA cchmch DD ee GG PP spsp rere", "CP-Algierfuchs-Hell" }); - - migrationBuilder.UpdateData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000060"), - columns: new[] { "CanonicalGenotype", "Name" }, - values: new object[] { "AA cchmcchm DD ee gg PP spsp rere", "CP-Polarfuchs" }); - - migrationBuilder.UpdateData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000061"), - columns: new[] { "CanonicalGenotype", "Name" }, - values: new object[] { "AA cchmch DD ee gg PP spsp rere", "CP-Polarfuchs-Hell" }); - - migrationBuilder.InsertData( - table: "ColorVarieties", - columns: new[] { "Id", "CanonicalGenotype", "Name", "SortOrder" }, - values: new object[,] - { - { new Guid("00000000-0000-0000-0000-000000000062"), "AA cchmcchm dd ee GG PP spsp rere", "CP-Fuchs", 61 }, - { new Guid("00000000-0000-0000-0000-000000000063"), "AA cchmch dd ee GG PP spsp rere", "CP-Fuchs-Hell", 62 }, - { new Guid("00000000-0000-0000-0000-000000000064"), "AA cchmcchm dd ee gg PP spsp rere", "CP-Blaufuchs", 63 }, - { new Guid("00000000-0000-0000-0000-000000000065"), "AA cchmcchm DD efef GG PP spsp rere", "CP-Orangeschimmel", 64 }, - { new Guid("00000000-0000-0000-0000-000000000066"), "AA cchmch DD efef GG PP spsp rere", "CP-Orangeschimmel-Hell", 65 } - }); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DeleteData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000062")); - - migrationBuilder.DeleteData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000063")); - - migrationBuilder.DeleteData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000064")); - - migrationBuilder.DeleteData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000065")); - - migrationBuilder.DeleteData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000066")); - - migrationBuilder.UpdateData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000055"), - columns: new[] { "CanonicalGenotype", "Name" }, - values: new object[] { "AA cchmcchm DD EE gg PP spsp rere", "CP-Silberagouti" }); - - migrationBuilder.UpdateData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000056"), - columns: new[] { "CanonicalGenotype", "Name" }, - values: new object[] { "AA cchmcchm DD ee GG PP spsp rere", "CP-Algierfuchs" }); - - migrationBuilder.UpdateData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000057"), - columns: new[] { "CanonicalGenotype", "Name" }, - values: new object[] { "AA cchmcchm DD ee gg PP spsp rere", "CP-Polarfuchs" }); - - migrationBuilder.UpdateData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000058"), - columns: new[] { "CanonicalGenotype", "Name" }, - values: new object[] { "AA cchmcchm dd ee GG PP spsp rere", "CP-Fuchs" }); - - migrationBuilder.UpdateData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000059"), - columns: new[] { "CanonicalGenotype", "Name" }, - values: new object[] { "AA cchmch dd ee GG PP spsp rere", "CP-Fuchs-Hell" }); - - migrationBuilder.UpdateData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000060"), - columns: new[] { "CanonicalGenotype", "Name" }, - values: new object[] { "AA cchmcchm dd ee gg PP spsp rere", "CP-Blaufuchs" }); - - migrationBuilder.UpdateData( - table: "ColorVarieties", - keyColumn: "Id", - keyValue: new Guid("00000000-0000-0000-0000-000000000061"), - columns: new[] { "CanonicalGenotype", "Name" }, - values: new object[] { "AA cchmcchm DD efef GG PP spsp rere", "CP-Orangeschimmel" }); - } - } -} diff --git a/GerbilManagerWebAPI/Migrations/20260606133459_ReseedColorVarietiesGen3g.Designer.cs b/GerbilManagerWebAPI/Migrations/20260606134002_ReseedColorVarietiesGen3g.Designer.cs similarity index 97% rename from GerbilManagerWebAPI/Migrations/20260606133459_ReseedColorVarietiesGen3g.Designer.cs rename to GerbilManagerWebAPI/Migrations/20260606134002_ReseedColorVarietiesGen3g.Designer.cs index 3038dc2..fd0517f 100644 --- a/GerbilManagerWebAPI/Migrations/20260606133459_ReseedColorVarietiesGen3g.Designer.cs +++ b/GerbilManagerWebAPI/Migrations/20260606134002_ReseedColorVarietiesGen3g.Designer.cs @@ -11,7 +11,7 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace GerbilManagerWebAPI.Migrations { [DbContext(typeof(ApplicationContext))] - [Migration("20260606133459_ReseedColorVarietiesGen3g")] + [Migration("20260606134002_ReseedColorVarietiesGen3g")] partial class ReseedColorVarietiesGen3g { /// @@ -563,78 +563,78 @@ namespace GerbilManagerWebAPI.Migrations new { Id = new Guid("00000000-0000-0000-0000-000000000055"), - CanonicalGenotype = "AA cchmch DD EE GG PP spsp rere", - Name = "CP-Agouti-Hell", + CanonicalGenotype = "AA cchmcchm DD EE gg PP spsp rere", + Name = "CP-Silberagouti", SortOrder = 54 }, new { Id = new Guid("00000000-0000-0000-0000-000000000056"), - CanonicalGenotype = "AA cchmcchm DD EE gg PP spsp rere", - Name = "CP-Silberagouti", + CanonicalGenotype = "AA cchmcchm DD ee GG PP spsp rere", + Name = "CP-Algierfuchs", SortOrder = 55 }, new { Id = new Guid("00000000-0000-0000-0000-000000000057"), - CanonicalGenotype = "AA cchmch DD EE gg PP spsp rere", - Name = "CP-Silberagouti-Hell", + CanonicalGenotype = "AA cchmcchm DD ee gg PP spsp rere", + Name = "CP-Polarfuchs", SortOrder = 56 }, new { Id = new Guid("00000000-0000-0000-0000-000000000058"), - CanonicalGenotype = "AA cchmcchm DD ee GG PP spsp rere", - Name = "CP-Algierfuchs", + CanonicalGenotype = "AA cchmcchm dd ee GG PP spsp rere", + Name = "CP-Fuchs", SortOrder = 57 }, new { Id = new Guid("00000000-0000-0000-0000-000000000059"), - CanonicalGenotype = "AA cchmch DD ee GG PP spsp rere", - Name = "CP-Algierfuchs-Hell", + CanonicalGenotype = "AA cchmch dd ee GG PP spsp rere", + Name = "CP-Fuchs-Hell", SortOrder = 58 }, new { Id = new Guid("00000000-0000-0000-0000-000000000060"), - CanonicalGenotype = "AA cchmcchm DD ee gg PP spsp rere", - Name = "CP-Polarfuchs", + CanonicalGenotype = "AA cchmcchm dd ee gg PP spsp rere", + Name = "CP-Blaufuchs", SortOrder = 59 }, new { Id = new Guid("00000000-0000-0000-0000-000000000061"), - CanonicalGenotype = "AA cchmch DD ee gg PP spsp rere", - Name = "CP-Polarfuchs-Hell", + CanonicalGenotype = "AA cchmcchm DD efef GG PP spsp rere", + Name = "CP-Orangeschimmel", SortOrder = 60 }, new { Id = new Guid("00000000-0000-0000-0000-000000000062"), - CanonicalGenotype = "AA cchmcchm dd ee GG PP spsp rere", - Name = "CP-Fuchs", + CanonicalGenotype = "AA cchmch DD EE GG PP spsp rere", + Name = "CP-Agouti-Hell", SortOrder = 61 }, new { Id = new Guid("00000000-0000-0000-0000-000000000063"), - CanonicalGenotype = "AA cchmch dd ee GG PP spsp rere", - Name = "CP-Fuchs-Hell", + CanonicalGenotype = "AA cchmch DD EE gg PP spsp rere", + Name = "CP-Silberagouti-Hell", SortOrder = 62 }, new { Id = new Guid("00000000-0000-0000-0000-000000000064"), - CanonicalGenotype = "AA cchmcchm dd ee gg PP spsp rere", - Name = "CP-Blaufuchs", + CanonicalGenotype = "AA cchmch DD ee GG PP spsp rere", + Name = "CP-Algierfuchs-Hell", SortOrder = 63 }, new { Id = new Guid("00000000-0000-0000-0000-000000000065"), - CanonicalGenotype = "AA cchmcchm DD efef GG PP spsp rere", - Name = "CP-Orangeschimmel", + CanonicalGenotype = "AA cchmch DD ee gg PP spsp rere", + Name = "CP-Polarfuchs-Hell", SortOrder = 64 }, new diff --git a/GerbilManagerWebAPI/Migrations/20260606134002_ReseedColorVarietiesGen3g.cs b/GerbilManagerWebAPI/Migrations/20260606134002_ReseedColorVarietiesGen3g.cs new file mode 100644 index 0000000..e5f06e5 --- /dev/null +++ b/GerbilManagerWebAPI/Migrations/20260606134002_ReseedColorVarietiesGen3g.cs @@ -0,0 +1,58 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional + +namespace GerbilManagerWebAPI.Migrations +{ + /// + public partial class ReseedColorVarietiesGen3g : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.InsertData( + table: "ColorVarieties", + columns: new[] { "Id", "CanonicalGenotype", "Name", "SortOrder" }, + values: new object[,] + { + { new Guid("00000000-0000-0000-0000-000000000062"), "AA cchmch DD EE GG PP spsp rere", "CP-Agouti-Hell", 61 }, + { new Guid("00000000-0000-0000-0000-000000000063"), "AA cchmch DD EE gg PP spsp rere", "CP-Silberagouti-Hell", 62 }, + { new Guid("00000000-0000-0000-0000-000000000064"), "AA cchmch DD ee GG PP spsp rere", "CP-Algierfuchs-Hell", 63 }, + { new Guid("00000000-0000-0000-0000-000000000065"), "AA cchmch DD ee gg PP spsp rere", "CP-Polarfuchs-Hell", 64 }, + { new Guid("00000000-0000-0000-0000-000000000066"), "AA cchmch DD efef GG PP spsp rere", "CP-Orangeschimmel-Hell", 65 } + }); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DeleteData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000062")); + + migrationBuilder.DeleteData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000063")); + + migrationBuilder.DeleteData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000064")); + + migrationBuilder.DeleteData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000065")); + + migrationBuilder.DeleteData( + table: "ColorVarieties", + keyColumn: "Id", + keyValue: new Guid("00000000-0000-0000-0000-000000000066")); + } + } +} diff --git a/GerbilManagerWebAPI/Migrations/ApplicationContextModelSnapshot.cs b/GerbilManagerWebAPI/Migrations/ApplicationContextModelSnapshot.cs index 5f73404..78191b5 100644 --- a/GerbilManagerWebAPI/Migrations/ApplicationContextModelSnapshot.cs +++ b/GerbilManagerWebAPI/Migrations/ApplicationContextModelSnapshot.cs @@ -560,78 +560,78 @@ namespace GerbilManagerWebAPI.Migrations new { Id = new Guid("00000000-0000-0000-0000-000000000055"), - CanonicalGenotype = "AA cchmch DD EE GG PP spsp rere", - Name = "CP-Agouti-Hell", + CanonicalGenotype = "AA cchmcchm DD EE gg PP spsp rere", + Name = "CP-Silberagouti", SortOrder = 54 }, new { Id = new Guid("00000000-0000-0000-0000-000000000056"), - CanonicalGenotype = "AA cchmcchm DD EE gg PP spsp rere", - Name = "CP-Silberagouti", + CanonicalGenotype = "AA cchmcchm DD ee GG PP spsp rere", + Name = "CP-Algierfuchs", SortOrder = 55 }, new { Id = new Guid("00000000-0000-0000-0000-000000000057"), - CanonicalGenotype = "AA cchmch DD EE gg PP spsp rere", - Name = "CP-Silberagouti-Hell", + CanonicalGenotype = "AA cchmcchm DD ee gg PP spsp rere", + Name = "CP-Polarfuchs", SortOrder = 56 }, new { Id = new Guid("00000000-0000-0000-0000-000000000058"), - CanonicalGenotype = "AA cchmcchm DD ee GG PP spsp rere", - Name = "CP-Algierfuchs", + CanonicalGenotype = "AA cchmcchm dd ee GG PP spsp rere", + Name = "CP-Fuchs", SortOrder = 57 }, new { Id = new Guid("00000000-0000-0000-0000-000000000059"), - CanonicalGenotype = "AA cchmch DD ee GG PP spsp rere", - Name = "CP-Algierfuchs-Hell", + CanonicalGenotype = "AA cchmch dd ee GG PP spsp rere", + Name = "CP-Fuchs-Hell", SortOrder = 58 }, new { Id = new Guid("00000000-0000-0000-0000-000000000060"), - CanonicalGenotype = "AA cchmcchm DD ee gg PP spsp rere", - Name = "CP-Polarfuchs", + CanonicalGenotype = "AA cchmcchm dd ee gg PP spsp rere", + Name = "CP-Blaufuchs", SortOrder = 59 }, new { Id = new Guid("00000000-0000-0000-0000-000000000061"), - CanonicalGenotype = "AA cchmch DD ee gg PP spsp rere", - Name = "CP-Polarfuchs-Hell", + CanonicalGenotype = "AA cchmcchm DD efef GG PP spsp rere", + Name = "CP-Orangeschimmel", SortOrder = 60 }, new { Id = new Guid("00000000-0000-0000-0000-000000000062"), - CanonicalGenotype = "AA cchmcchm dd ee GG PP spsp rere", - Name = "CP-Fuchs", + CanonicalGenotype = "AA cchmch DD EE GG PP spsp rere", + Name = "CP-Agouti-Hell", SortOrder = 61 }, new { Id = new Guid("00000000-0000-0000-0000-000000000063"), - CanonicalGenotype = "AA cchmch dd ee GG PP spsp rere", - Name = "CP-Fuchs-Hell", + CanonicalGenotype = "AA cchmch DD EE gg PP spsp rere", + Name = "CP-Silberagouti-Hell", SortOrder = 62 }, new { Id = new Guid("00000000-0000-0000-0000-000000000064"), - CanonicalGenotype = "AA cchmcchm dd ee gg PP spsp rere", - Name = "CP-Blaufuchs", + CanonicalGenotype = "AA cchmch DD ee GG PP spsp rere", + Name = "CP-Algierfuchs-Hell", SortOrder = 63 }, new { Id = new Guid("00000000-0000-0000-0000-000000000065"), - CanonicalGenotype = "AA cchmcchm DD efef GG PP spsp rere", - Name = "CP-Orangeschimmel", + CanonicalGenotype = "AA cchmch DD ee gg PP spsp rere", + Name = "CP-Polarfuchs-Hell", SortOrder = 64 }, new