21 lines
894 B
SQL
21 lines
894 B
SQL
-- we areno longer using trigger.dev for sanity checking positions in
|
|
-- a reatime manner, so restore the hypertable.
|
|
delete from raw_bus_positions where id in (select raw_pos_id from potential_arrivals);
|
|
drop table potential_arrivals cascade;
|
|
|
|
CREATE TABLE potential_arrivals(
|
|
id BIGINT GENERATED ALWAYS AS IDENTITY,
|
|
raw_pos_id BIGINT NOT NULL,
|
|
bus_id text NOT NULL,
|
|
bus_coords GEOGRAPHY(Point, 4326) NOT NULL,
|
|
measured_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
|
stop_id bigint NOT NULL,
|
|
distance decimal NOT NULL
|
|
);
|
|
|
|
SELECT create_hypertable('potential_arrivals', 'measured_at', chunk_time_interval => INTERVAL '10 minutes');
|
|
|
|
CREATE INDEX potential_arrives_raw_pos_id ON potential_arrivals (raw_pos_id);
|
|
CREATE INDEX potential_arrivals_measures ON potential_arrivals (bus_id, measured_at DESC);
|
|
CREATE INDEX potential_arrivals_spatial ON potential_arrivals USING GIST (bus_coords);
|