jokull/supabase/migrations/20240410220437_restore-hype...

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);