teecup/080_target_point_hazard_group.sql

33 lines
1.8 KiB
MySQL
Raw Normal View History

-- =====================================================================
-- TeeCup — migrasjon 080
-- hazard_group: eksplisitt paring av forkant/bakkant til SAMME hindring
-- =====================================================================
-- Konkret anledning (ADR-084): hull-diagrammet for rangefinderen
-- (ADR-083) trengte en måte å vise ÉN hindring med både forkant- og
-- bakkant-avstand (f.eks. en bunker sin fremre og bakre kant), i
-- stedet for å vise hvert koordinatpunkt som sin egen markør. Første
-- forsøk grupperte punkter på `poi_type`+`side_fairway` -- avvist av
-- bruker: to ATSKILTE hindringer av samme type på samme side (f.eks.
-- to venstre fairway-bunkere) ville da feilaktig blitt slått sammen
-- til én.
--
-- Verken `golfapi_course_coordinate` eller `teeoff_course_coordinate`
-- hadde noen eksisterende gruppe-/hindrings-id å bruke i stedet --
-- `id`-kolonnen er en usorterbar `gen_random_uuid()`, ingen
-- `created_at`, og verken GolfAPI sin kildedata eller den manuelle
-- feltbefarings-flyten (ADR-081) har noe naturlig gruppe-nøkkel.
--
-- `hazard_group` er derfor en NY, nullable, FRITT SATT tekstkolonne --
-- samme "menneskelig tolkning ved data-inntasting"-mønster som
-- `poi_type`/`location` allerede er. `NULL` (dagens tilstand for ALT
-- eksisterende data) = enkeltstående punkt, ALDRI slått sammen med
-- noe -- ingen regresjon. Ikke-null = et menneske har eksplisitt
-- bekreftet at to (eller flere) punkter er samme fysiske hindring.
-- Kun meningsfullt unikt INNENFOR ett hull, ikke globalt håndhevet.
-- =====================================================================
\set ON_ERROR_STOP on
ALTER TABLE golfapi_course_coordinate ADD COLUMN hazard_group text;
ALTER TABLE teeoff_course_coordinate ADD COLUMN hazard_group text;