teecup/057_scramble_solo_match_round.sql
Erol Haagenrud 038516d236 All five tasks from the original list are complete, plus one critical production bug found and fixed along the way. Summary:
Fullført:

TeeCup-beskrivelse for logo — levert tidligere.
Migrasjon 056 (scramble_solo) — kjørt og live.
Matchspill-varianten (scramble_solo_match, migrasjon 057) — bygget, verifisert, live.
Kritisk bug funnet og rettet: lagspillere kunne ikke registrere score i det hele tatt for scramble_solo-formatene (evig spinner, ingen feilmelding) — var allerede live og ødelagt for ekte lagspillere. Rettet for begge varianter, rullet ut.
"Bruk som mal for egen bane" — vises nå kun i "Opprett ny bane"-flyten (ny lenke "Basér på en eksisterende bane i stedet"), ikke i det vanlige søket.
Alt er rullet ut live på teecup.golf, verifisert i nettleser mot isolerte scratch-miljøer (ryddet opp etterpå), og dokumentert i CHANGELOG.md (punkt 22–24) og FEATURE_BACKLOG.md.
2026-08-05 21:37:32 +02:00

22 lines
1.4 KiB
SQL

-- =====================================================================
-- TeeCup — Scramble mot enkeltspiller, MATCHSPILL-varianten (frittstående
-- runder), migrasjon 057.
--
-- Samme asymmetriske to-siders-struktur som scramble_solo (migrasjon
-- 056, stroke-play-varianten) -- variabelt scramble-lag mot nøyaktig én
-- individuell spiller -- men avgjort hull-for-hull ("X UP"/dormie/
-- avgjort) i stedet for netto totalsum-sammenligning.
--
-- REN CHECK-utvidelse -- ingen nye kolonner. round_side.side_role og
-- round.scramble_solo_individual_pct (begge fra migrasjon 056) er
-- allerede generiske nok til å gjenbrukes uendret: samme betydning
-- (hvem er laget/individualspilleren, individualspillerens allowance-%)
-- gjelder uansett om sammenligningen er netto totalsum eller matchspill.
-- handicap_engine.py sin match_play_strokes()/compute_match_state()
-- brukes uendret (begge allerede domeneagnostiske) -- ingen ny motorkode.
-- =====================================================================
\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', 'money_ball', 'high_low_high', 'scramble_solo', 'scramble_solo_match'));