33 lines
1.8 KiB
MySQL
33 lines
1.8 KiB
MySQL
|
|
-- =====================================================================
|
||
|
|
-- 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;
|