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.
22 lines
1.4 KiB
SQL
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'));
|