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