29 lines
1.4 KiB
MySQL
29 lines
1.4 KiB
MySQL
|
|
-- =====================================================================
|
||
|
|
-- TeeCup — HCP-historikk over tid for personlig profil (migrasjon 018)
|
||
|
|
-- =====================================================================
|
||
|
|
-- Oppfølging av ADR-031 sitt "naturlig neste steg"-punkt: personlig
|
||
|
|
-- profil sin `app_user.handicap_index` (ADR-031, migrasjon 015) endres i
|
||
|
|
-- dag stille ved hver PATCH /auth/profile, uten noen logg over tidligere
|
||
|
|
-- verdier. Denne migrasjonen legger til en append-only historikk-tabell
|
||
|
|
-- -- IKKE noe erstatning for selve `app_user.handicap_index` (som
|
||
|
|
-- fortsatt er "gjeldende verdi", brukt overalt ellers uendret).
|
||
|
|
--
|
||
|
|
-- Bevisst KUN for den PERSONLIGE profilens HCP -- IKKE de org-scopede
|
||
|
|
-- `player.handicap_index`-radene eller `team_roster.handicap_index_
|
||
|
|
-- snapshot` (som allerede har sitt eget, separate reproduserbarhets-
|
||
|
|
-- prinsipp, ADR-007 -- ikke noe denne migrasjonen rører).
|
||
|
|
-- =====================================================================
|
||
|
|
|
||
|
|
\set ON_ERROR_STOP on
|
||
|
|
|
||
|
|
CREATE TABLE handicap_history (
|
||
|
|
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
||
|
|
user_id uuid NOT NULL REFERENCES app_user(id) ON DELETE CASCADE,
|
||
|
|
handicap_index numeric(4,1) NOT NULL,
|
||
|
|
recorded_at timestamptz NOT NULL DEFAULT now()
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE INDEX ON handicap_history (user_id, recorded_at);
|
||
|
|
|
||
|
|
GRANT SELECT, INSERT ON handicap_history TO teecup_app;
|