Ny kolonne hole_score.selected_participant_id (migrasjon 039), validert til å tilhøre riktig side og kun gyldig for delt-ball-hull (ikke individuell ball). Ny "Hvem sitt utslag ble brukt?"-knapperad i scorekortet for foursome/greensome/scramble-matcher. Ny "Utslag brukt"-oppsummering i "Vis full oversikt", med opptelling per spiller og "registrert på N av M spilte hull". Verifisert med en full org-turnering bygget fra bunnen (org/bane/lag/spillere/foursome-match), 51/51 API-sjekker, og en ekte nettleser-gjennomgang der jeg klikket et faktisk valg og bekreftet det landet riktig i databasen. Migrasjon kjørt, begge containere redeployet, teeoff.no upåvirket. Dermed er "Scramble-grensesnitt" (ARCHITECTURE_DECISIONS.md sitt åpne spørsmål 4) helt avsluttet — begge domener dekket.
27 lines
1.5 KiB
SQL
27 lines
1.5 KiB
SQL
-- =====================================================================
|
|
-- TeeCup — scramble/greensome i ORG-SCOPEDE turneringer: hvilken
|
|
-- spillers utslag ble valgt (migrasjon 039). Samme funksjon som
|
|
-- migrasjon 036 ga frittstående runder 2026-07-25 -- bevisst holdt
|
|
-- utenfor DEN runden (se dens egen kommentar), tatt fatt på nå som
|
|
-- rask, avgrenset oppfølger (FEATURE_BACKLOG.md "Scramble: statistikk
|
|
-- over utslag brukt per spiller").
|
|
--
|
|
-- Kun meningsfullt på en DELT-BALL-hull-rad (hole_score.
|
|
-- match_participant_id IS NULL) -- håndhevet i app-laget
|
|
-- (submit_hole_score), ikke en CHECK, samme mønster som migrasjon 036.
|
|
-- Nullable -- helt valgfritt å registrere.
|
|
--
|
|
-- Composite FK til match_participant (organization_id, id), samme
|
|
-- mønster som hole_score.match_participant_id sin egen FK over --
|
|
-- RLS håndheves via organization_id på hole_score selv, uendret.
|
|
-- ON DELETE SET NULL (ikke CASCADE): fjernes en deltaker fra matchen
|
|
-- (mulig FØR lås, se matches.py DELETE-endepunkt) skal ikke slette
|
|
-- allerede registrerte hull-scorer, kun nullstille selve valget.
|
|
-- =====================================================================
|
|
\set ON_ERROR_STOP on
|
|
|
|
ALTER TABLE hole_score ADD COLUMN selected_participant_id uuid;
|
|
|
|
ALTER TABLE hole_score ADD CONSTRAINT hole_score_selected_participant_fk
|
|
FOREIGN KEY (organization_id, selected_participant_id)
|
|
REFERENCES match_participant(organization_id, id) ON DELETE SET NULL;
|