changed structure of codebase. also include docker files for easy deployment
99 lines
2.4 KiB
SQL
99 lines
2.4 KiB
SQL
CREATE TABLE routes (
|
|
route_id VARCHAR(50) PRIMARY KEY,
|
|
agency_id VARCHAR(50),
|
|
route_short_name VARCHAR(50),
|
|
route_long_name VARCHAR(255),
|
|
route_desc TEXT,
|
|
route_type INT,
|
|
route_url VARCHAR(255),
|
|
route_color VARCHAR(10),
|
|
route_text_color VARCHAR(10)
|
|
);
|
|
|
|
CREATE TABLE trips (
|
|
trip_id VARCHAR(50) PRIMARY KEY,
|
|
route_id VARCHAR(50),
|
|
service_id VARCHAR(50),
|
|
shape_id VARCHAR(50),
|
|
trip_headsign VARCHAR(255),
|
|
trip_short_name VARCHAR(50),
|
|
direction_id INT,
|
|
block_id VARCHAR(50),
|
|
wheelchair_accessible INT,
|
|
bikes_allowed INT,
|
|
FOREIGN KEY (route_id) REFERENCES routes(route_id)
|
|
);
|
|
CREATE TABLE stops (
|
|
stop_id VARCHAR(50) PRIMARY KEY,
|
|
stop_code VARCHAR(50),
|
|
stop_name VARCHAR(255),
|
|
stop_desc TEXT,
|
|
stop_lat DOUBLE,
|
|
stop_lon DOUBLE,
|
|
zone_id VARCHAR(50),
|
|
stop_url VARCHAR(255),
|
|
location_type INT DEFAULT NULL,
|
|
parent_station VARCHAR(50),
|
|
stop_timezone VARCHAR(50),
|
|
wheelchair_boarding INT DEFAULT NULL
|
|
);
|
|
CREATE TABLE stop_times (
|
|
trip_id VARCHAR(50),
|
|
arrival_time VARCHAR(20),
|
|
departure_time VARCHAR(20),
|
|
stop_id VARCHAR(50),
|
|
stop_sequence INT,
|
|
stop_headsign VARCHAR(255),
|
|
pickup_type INT,
|
|
drop_off_type INT,
|
|
shape_dist_traveled DOUBLE NOT NULL DEFAULT 0
|
|
timepoint INT,
|
|
PRIMARY KEY (trip_id, stop_id, stop_sequence),
|
|
FOREIGN KEY (trip_id) REFERENCES trips(trip_id),
|
|
FOREIGN KEY (stop_id) REFERENCES stops(stop_id)
|
|
);
|
|
|
|
CREATE TABLE shapes (
|
|
shape_id VARCHAR(50),
|
|
shape_pt_lat DOUBLE,
|
|
shape_pt_lon DOUBLE,
|
|
shape_pt_sequence INT,
|
|
shape_dist_traveled DOUBLE,
|
|
PRIMARY KEY (shape_id, shape_pt_sequence)
|
|
);
|
|
|
|
-- Realtime: vehicle positions
|
|
CREATE TABLE rt_vehicle_positions (
|
|
vehicle_id VARCHAR(50),
|
|
trip_id VARCHAR(50),
|
|
route_id VARCHAR(50),
|
|
lat DOUBLE,
|
|
lon DOUBLE,
|
|
bearing INT,
|
|
speed DOUBLE,
|
|
timestamp BIGINT,
|
|
PRIMARY KEY (vehicle_id)
|
|
);
|
|
|
|
-- Realtime: trip updates
|
|
CREATE TABLE rt_trip_updates (
|
|
trip_id VARCHAR(50),
|
|
stop_id VARCHAR(50),
|
|
arrival_time BIGINT,
|
|
departure_time BIGINT,
|
|
delay INT,
|
|
schedule_relationship VARCHAR(20),
|
|
PRIMARY KEY (trip_id, stop_id),
|
|
FOREIGN KEY (stop_id) REFERENCES stops(stop_id)
|
|
);
|
|
|
|
-- Realtime: alerts
|
|
CREATE TABLE rt_alerts (
|
|
alert_id VARCHAR(50) PRIMARY KEY,
|
|
header TEXT,
|
|
description TEXT,
|
|
cause VARCHAR(50),
|
|
effect VARCHAR(50),
|
|
timestamp BIGINT
|
|
);
|