-- ===================================================================== -- TeeCup — Utvidede spillerfelt i org-spillerpoolen (2026-08-14). -- Bruker: midlertidige/nyopprettede spillere i "Deltakere"-flyten -- (org-individuelle turneringer, individual-tournament-detail.tsx) -- manglet felt en reell klubbadministrator trenger ved registrering. -- -- Splitter navn i for-/etternavn -- SAMME mønster som migrasjon 052 -- (round_participant.guest_first_name/guest_last_name): display_name -- beholdes UENDRET som det faktisk VISTE fulle navnet (unngår å røre -- alle eksisterende steder som leser player.display_name direkte, -- bl.a. leaderboards/matcher/rostre) -- first_name/last_name er en NY, -- valgfri kilde til sannhet ved REDIGERING i det utvidede skjemaet, -- ikke en erstatning. App-laget (ikke en DB-trigger) holder dem i sync -- ved oppretting, samme "kalleren regner ut display_name"-ansvar som -- round_participant sin ekvivalent. -- -- `paid`/`comment`: registreringsadministrasjon (betalt-avkrysning, -- fritekstnotat) -- fantes ikke i noen form før. -- ===================================================================== \set ON_ERROR_STOP on ALTER TABLE player ADD COLUMN first_name text; ALTER TABLE player ADD COLUMN last_name text; ALTER TABLE player ADD COLUMN paid boolean NOT NULL DEFAULT false; ALTER TABLE player ADD COLUMN comment text; -- Backfill for EKSISTERENDE spillere -- samme "første ord = fornavn, -- resten = etternavn"-heuristikk som migrasjon 052 sin backfill. UPDATE player SET first_name = CASE WHEN position(' ' IN display_name) > 0 THEN split_part(display_name, ' ', 1) ELSE display_name END, last_name = CASE WHEN position(' ' IN display_name) > 0 THEN NULLIF(trim(substring(display_name FROM position(' ' IN display_name) + 1)), '') ELSE NULL END;