-- =====================================================================
--  TeeCup — migrasjon 088
--  Shotgun-start: alternativ til den tradisjonelle, staggerte starten
-- =====================================================================
--  Reverserer/utvider EKSPLISITT migrasjon 084 sitt bevisste "IKKE
--  shotgun"-valg fra 2026-08-18 -- se ADR-096 for full begrunnelse for
--  hvorfor dette nå bygges. Samme arkitektoniske hull fantes BEGGE
--  steder rundeplanlegging finnes i appen: individuelle turneringer
--  (tournament_round/tournament_round_group) og lag/Cup-format
--  (session/match) -- ett delt starthull for HELE runden/økten, kun
--  ulikt KLOKKESLETT per gruppe/match, aldri ulikt HULL. Rettet
--  identisk begge steder.
--
--  start_mode = 'consecutive' (standard, uendret oppførsel -- INGEN
--  regresjon): alle grupper/matcher deler samme starthull
--  (tournament_round.start_hole / session.start_hole, uendret), staggert
--  KUN på klokkeslett (eksisterende tee_time_override-mønster, uendret).
--
--  start_mode = 'shotgun': ALLE grupper/matcher i runden/økten går ut
--  SAMTIDIG (intervallet blir meningsløst og ignoreres av app-laget i
--  denne modusen) -- fra HVER SIN starthull i stedet. Nytt, valgfritt
--  per-gruppe/per-match starthull-felt dekker dette -- NULL når runden/
--  økten uansett er 'consecutive' (bruker da forelderens delte
--  starthull som før), settes eksplisitt av organisator per gruppe/
--  match kun i shotgun-modus.
--
--  Samme text+CHECK-mønster som migrasjon 087 (ikke en ny
--  CREATE TYPE ... AS ENUM, konsistent med nyere migrasjoner i denne
--  filserien).
-- =====================================================================

\set ON_ERROR_STOP on

ALTER TABLE tournament_round
    ADD COLUMN start_mode text NOT NULL DEFAULT 'consecutive'
        CHECK (start_mode IN ('consecutive', 'shotgun'));

ALTER TABLE tournament_round_group
    ADD COLUMN start_hole smallint
        CHECK (start_hole IS NULL OR start_hole BETWEEN 1 AND 18);

ALTER TABLE session
    ADD COLUMN start_mode text NOT NULL DEFAULT 'consecutive'
        CHECK (start_mode IN ('consecutive', 'shotgun'));

ALTER TABLE match
    ADD COLUMN start_hole smallint
        CHECK (start_hole IS NULL OR start_hole BETWEEN 1 AND 18);
