From 65c9815baa58aafbe9e90d10b58aada2bb5d47d3 Mon Sep 17 00:00:00 2001 From: AzuTear Date: Mon, 29 Jun 2026 18:19:18 +0200 Subject: [PATCH] Guard demo seed migrations --- .../20260629142749_SeedRealisticDemoScenario.cs | 9 +++++++++ ...0629144001_AdjustDemoSubcategoriesAndArchive.cs | 14 ++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/Backend/Migrations/20260629142749_SeedRealisticDemoScenario.cs b/Backend/Migrations/20260629142749_SeedRealisticDemoScenario.cs index 2d0b919..5306207 100644 --- a/Backend/Migrations/20260629142749_SeedRealisticDemoScenario.cs +++ b/Backend/Migrations/20260629142749_SeedRealisticDemoScenario.cs @@ -10,6 +10,13 @@ public partial class SeedRealisticDemoScenario : Migration { migrationBuilder.Sql( """ + DO $vtsa_seed$ + BEGIN + IF EXISTS (SELECT 1 FROM "Seasons" WHERE "Year" IN (2025, 2026)) THEN + RAISE NOTICE 'Existing seasons detected; skipping realistic demo seed.'; + RETURN; + END IF; + INSERT INTO "Seasons" ( "Id", "Year", "Name", "IsDemo", "IsCurrent", "IsCommunityOnly", "CurrentPhase", "NominationStartsAt", "NominationEndsAt", "VotingStartsAt", "VotingEndsAt", @@ -240,6 +247,8 @@ public partial class SeedRealisticDemoScenario : Migration SELECT setval(pg_get_serial_sequence('"ShowactApplications"', 'Id'), COALESCE((SELECT MAX("Id") FROM "ShowactApplications"), 1)); SELECT setval(pg_get_serial_sequence('"Sponsors"', 'Id'), COALESCE((SELECT MAX("Id") FROM "Sponsors"), 1)); SELECT setval(pg_get_serial_sequence('"RiskFlags"', 'Id'), COALESCE((SELECT MAX("Id") FROM "RiskFlags"), 1)); + END; + $vtsa_seed$; """ ); } diff --git a/Backend/Migrations/20260629144001_AdjustDemoSubcategoriesAndArchive.cs b/Backend/Migrations/20260629144001_AdjustDemoSubcategoriesAndArchive.cs index 9a9f5ea..582eff6 100644 --- a/Backend/Migrations/20260629144001_AdjustDemoSubcategoriesAndArchive.cs +++ b/Backend/Migrations/20260629144001_AdjustDemoSubcategoriesAndArchive.cs @@ -10,6 +10,18 @@ public partial class AdjustDemoSubcategoriesAndArchive : Migration { migrationBuilder.Sql( """ + DO $vtsa_adjust$ + BEGIN + IF EXISTS ( + SELECT 1 + FROM "Seasons" + WHERE "Year" IN (2024, 2025, 2026) + AND "Id" NOT IN (999, 1000, 1001) + ) THEN + RAISE NOTICE 'Existing non-demo season years detected; skipping demo archive reseed.'; + RETURN; + END IF; + DELETE FROM "RiskFlags" WHERE "SeasonId" IN (999, 1000, 1001); DELETE FROM "Seasons" WHERE "Id" IN (999, 1000, 1001) AND "IsDemo" = TRUE; DELETE FROM "StreamerIdentities" WHERE "Id" BETWEEN 3001 AND 3020; @@ -275,6 +287,8 @@ public partial class AdjustDemoSubcategoriesAndArchive : Migration SELECT setval(pg_get_serial_sequence('"ShowactApplications"', 'Id'), COALESCE((SELECT MAX("Id") FROM "ShowactApplications"), 1)); SELECT setval(pg_get_serial_sequence('"Sponsors"', 'Id'), COALESCE((SELECT MAX("Id") FROM "Sponsors"), 1)); SELECT setval(pg_get_serial_sequence('"RiskFlags"', 'Id'), COALESCE((SELECT MAX("Id") FROM "RiskFlags"), 1)); + END; + $vtsa_adjust$; """ ); }