Nye-TeeOff/init.sql

55 lines
1.8 KiB
MySQL
Raw Normal View History

2026-02-26 09:20:51 +01:00
-- Aktiver utvidelsen for GPS og kartdata
CREATE EXTENSION IF NOT EXISTS postgis;
-- 1. Tabell for selve golfanlegget/klubben
CREATE TABLE facilities (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
slug VARCHAR(255) UNIQUE NOT NULL,
description TEXT,
established_year INTEGER,
season VARCHAR(100),
coordinates GEOMETRY(Point, 4326),
has_driving_range BOOLEAN DEFAULT FALSE,
has_short_game_area BOOLEAN DEFAULT FALSE,
rentals_clubs BOOLEAN DEFAULT FALSE,
rentals_buggy BOOLEAN DEFAULT FALSE,
website_url VARCHAR(255),
golfbox_tournament_url VARCHAR(255),
pro_url VARCHAR(255),
proshop_url VARCHAR(255),
cafe_url VARCHAR(255),
nsg_agreement BOOLEAN DEFAULT FALSE,
2026-04-17 09:25:32 +02:00
cooperating_clubs JSONB DEFAULT '[]'::jsonb,
2026-02-26 09:20:51 +01:00
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 2. Tabell for selve golfbanene (knyttet til anlegget)
CREATE TABLE courses (
id SERIAL PRIMARY KEY,
facility_id INTEGER REFERENCES facilities(id) ON DELETE CASCADE,
name VARCHAR(255) NOT NULL,
holes INTEGER NOT NULL,
2026-05-10 08:04:51 +02:00
physical_hole_count INTEGER,
include_in_physical_hole_total BOOLEAN NOT NULL DEFAULT TRUE,
2026-02-26 09:20:51 +01:00
par INTEGER,
length_meters INTEGER,
course_type VARCHAR(100),
architect VARCHAR(255),
course_guide_url VARCHAR(255),
status VARCHAR(50) DEFAULT 'Ukjent',
2026-05-10 08:04:51 +02:00
is_visible BOOLEAN NOT NULL DEFAULT TRUE,
2026-02-26 09:20:51 +01:00
status_updated_at TIMESTAMP,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 3. Tabell for bildeslideren
CREATE TABLE facility_images (
id SERIAL PRIMARY KEY,
facility_id INTEGER REFERENCES facilities(id) ON DELETE CASCADE,
image_url VARCHAR(255) NOT NULL,
display_order INTEGER DEFAULT 0
);