Nye-TeeOff/migrations/2026-08-05_add_hole_points.sql

28 lines
1.3 KiB
MySQL
Raw Normal View History

2026-09-01 05:11:26 +02:00
-- Koordinat-punkter per hull (green/bunker/vann/tre/tee osv.), for GPS-/
-- avstandsfunksjoner og for å kunne eksporteres til andre prosjekter
-- (f.eks. TeeCup) som slår opp anlegg via facility-slug.
--
-- Taksonomi (poi_type / location / side_fairway) er bevisst holdt som fri
-- tekst, ikke en Postgres ENUM, i tråd med resten av kodebasens mønster
-- for kategori-felt (f.eks. banetype) -- listen med forventede verdier
-- dokumenteres her, ikke håndheves i databasen:
--
-- poi_type: green, bunker_fairway, bunker_green, vann, trær, stein,
-- landemerke, vei, dogleg, tee, avstandsmarkør
-- location: front, midt, bak (nullable -- ikke alle poi_type har dette)
-- side_fairway: venstre, senter, høyre (nullable -- ikke alle poi_type har dette)
CREATE TABLE IF NOT EXISTS hole_points (
id SERIAL PRIMARY KEY,
hole_id INTEGER NOT NULL REFERENCES holes(id) ON DELETE CASCADE,
poi_type VARCHAR(50) NOT NULL,
location VARCHAR(20),
side_fairway VARCHAR(20),
geom GEOGRAPHY(Point, 4326) NOT NULL,
note TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX IF NOT EXISTS hole_points_hole_id_idx ON hole_points (hole_id);
CREATE INDEX IF NOT EXISTS hole_points_geom_gix ON hole_points USING GIST (geom);