-- =====================================================================
--  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;
