31 lines
833 B
SQL
31 lines
833 B
SQL
CREATE TABLE venues (
|
|
id SERIAL PRIMARY KEY,
|
|
name VARCHAR(255) NOT NULL,
|
|
street VARCHAR(255),
|
|
postal_code VARCHAR(20),
|
|
city VARCHAR(100),
|
|
country VARCHAR(100) DEFAULT 'Deutschland',
|
|
latitude DOUBLE PRECISION,
|
|
longitude DOUBLE PRECISION,
|
|
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE concerts (
|
|
id SERIAL PRIMARY KEY,
|
|
artist VARCHAR(255) NOT NULL,
|
|
venue_id INTEGER REFERENCES venues(id) ON DELETE SET NULL,
|
|
start_datetime TIMESTAMP NOT NULL,
|
|
end_datetime TIMESTAMP,
|
|
description TEXT,
|
|
ticket_url TEXT,
|
|
ticket_price NUMERIC(10,2),
|
|
flyer_path TEXT,
|
|
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE INDEX idx_concerts_start_datetime
|
|
ON concerts(start_datetime);
|
|
|
|
CREATE INDEX idx_venues_name
|
|
ON venues(name);
|