teecup/087_tournament_participant_status.sql
Erol Haagenrud 396fe40b7c Manuell deltakerstatus (DSQ/RTD/DNF/DNS) + spillerpool-kobling (ADR-091)
Ny status-kolonne på tournament_participant, overstyrer leaderboardets
total og blokkerer score i alle runder. Ny direkte lenke fra
turneringens Deltakere-liste til riktig rad i org-spillerpoolen.
Migrasjon 087 lagt til, men IKKE anvendt mot ekte teecup_db ennå.
2026-08-18 18:06:49 +02:00

30 lines
1.6 KiB
SQL

-- =====================================================================
-- TeeCup — migrasjon 087
-- Manuell status per deltaker: DSQ/RTD/DNF/DNS
-- =====================================================================
-- Bruker: "Vi må manuelt kunne sette Dsq, Rtd, Dnf, og fns." ("fns"
-- tolket som en skrivefeil for DNS -- 'd' og 'f' ligger ved siden av
-- hverandre på tastaturet, og ingen standard golf-status starter på
-- "f". Ingen av de fire fantes -- `tournament_participant` hadde
-- ingen statuskolonne i det hele tatt før nå.
--
-- Leaderboardet (`stroke-play-leaderboard.tsx`, V0-eksportert) hadde
-- ALLEREDE en STATUS-mekanisme klar til å vise nøyaktig dette (samme
-- Set som "WD"/"DNS"/"DQ"/"NR"/"CUT" allerede brukte -- "DNS" var der
-- fra før!) -- den manglet bare en vei for organisator til faktisk å
-- SETTE en status på en deltaker. `status` er tournament-BREDT (ikke
-- per runde) -- samme granularitet som `total_label` allerede
-- representerer på leaderboardet (én sum-rad per deltaker).
--
-- 'active' (default) = uendret oppførsel, ingen regresjon. Ikke-aktiv
-- status overstyrer BÅDE det beregnede til-par-tallet OG en ev.
-- Cut-status (satt SIST i _compute_individual_standings, se
-- app/routers/individual_tournaments.py) -- en DSQ-et spiller er DSQ,
-- uansett om de tilfeldigvis også er kuttet.
-- =====================================================================
\set ON_ERROR_STOP on
ALTER TABLE tournament_participant
ADD COLUMN status text NOT NULL DEFAULT 'active'
CHECK (status IN ('active', 'dsq', 'rtd', 'dnf', 'dns'));