30 lines
1.8 KiB
MySQL
30 lines
1.8 KiB
MySQL
|
|
-- =====================================================================
|
||
|
|
-- TeeCup — Stableford som egen spilleform + "plukket opp"-tilstand,
|
||
|
|
-- migrasjon 038. FEATURE_BACKLOG.md sitt eget notat fra 2026-07-25:
|
||
|
|
-- frittstående runder hadde ingen faktisk Stableford-FORMAT (kun rå
|
||
|
|
-- slagtall), og ingen vei til å registrere at en spiller plukket opp
|
||
|
|
-- ballen fordi hullet uansett var klart 0 poeng.
|
||
|
|
--
|
||
|
|
-- Stableford-POENGENE var allerede beregnet og vist flere steder (rund-
|
||
|
|
-- detail.tsx/round-scorecard.tsx/round-leaderboard.tsx sin stablefordPoints()
|
||
|
|
-- /total_points) -- denne migrasjonen dekker de to reelt manglende bitene:
|
||
|
|
-- (1) 'stableford' som et faktisk selvdeklarert play_format, side om side
|
||
|
|
-- med 'stroke'/'match' (samme individuelle, ikke-to-sidede kategori som
|
||
|
|
-- 'stroke' -- IKKE i _TWO_SIDED_FORMATS), (2) round_hole.picked_up.
|
||
|
|
--
|
||
|
|
-- "Plukket opp" lagres IKKE som en NULL-score -- den skrives eksplisitt
|
||
|
|
-- som Net Double Bogey (par + 2 + mottatte slag), samme cap som
|
||
|
|
-- handicap_engine.py sin max_hole_score_for_handicap() ALLEREDE bruker
|
||
|
|
-- for enhver høy score (Rule 3.1b). Dette gir automatisk nøyaktig 0
|
||
|
|
-- Stableford-poeng (samme formel som ellers) OG et korrekt AGS-bidrag
|
||
|
|
-- for faktisk-HCP (ADR-038) -- ingen ny motorlogikk trengs, kun et nytt
|
||
|
|
-- felt for VISNING ("Plukket opp" i stedet for et rått slagtall).
|
||
|
|
-- =====================================================================
|
||
|
|
\set ON_ERROR_STOP on
|
||
|
|
|
||
|
|
ALTER TABLE round_hole ADD COLUMN picked_up boolean NOT NULL DEFAULT false;
|
||
|
|
|
||
|
|
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'));
|