-- =====================================================================
--  TeeCup — Shamble, migrasjon 047. Sjette av åtte nye turneringsformater
--  denne runden.
--
--  2-4-manns lag (FLEKSIBEL størrelse, bekreftet av bruker -- ikke fast
--  som de andre formatene). Lagets hullscore = sum av de N beste
--  individuelle resultatene ("beste N av M", N organisator-konfigurerbart
--  via shamble_best_n).
--
--  Frittstående runder: INGEN round_side-involvering (bekreftet av
--  bruker) -- laget ER runden sitt fulle deltakersett, ingen motstander
--  innad. Flere lag som konkurrerer settes opp som separate runder koblet
--  med det allerede byggede flight_group_id-leaderboardet (2026-07-28).
--  Individuell-ball round_hole (som fourball), bare variabel lagstørrelse
--  i stedet for en fast FORMAT_UNIT_SIZE-verdi.
--
--  Org-lagturnering: HER brukes eksisterende to-siders match-struktur (to
--  Shamble-lag møtes) -- variabel lagstørrelse (2-4) i stedet for fast
--  antall.
-- =====================================================================
\set ON_ERROR_STOP on

ALTER TABLE round DROP CONSTRAINT round_play_format_check;
ALTER TABLE round ADD CONSTRAINT round_play_format_check
    CHECK (play_format IN ('stroke', 'match', 'skins', 'fourball', 'foursome', 'greensome', 'scramble_2', 'scramble_4', 'stableford', 'chapman', 'copenhagen', 'bbb', 'flag', 'shamble'));
ALTER TABLE round ADD COLUMN shamble_best_n smallint CHECK (shamble_best_n IS NULL OR shamble_best_n >= 1);

ALTER TABLE session DROP CONSTRAINT session_format_check;
ALTER TABLE session ADD CONSTRAINT session_format_check
    CHECK (format IN ('singles', 'fourball', 'foursome', 'greensome', 'scramble_2', 'scramble_4', 'chapman', 'shamble'));
ALTER TABLE session ADD COLUMN shamble_best_n smallint CHECK (shamble_best_n IS NULL OR shamble_best_n >= 1);
