30 lines
985 B
SQL
30 lines
985 B
SQL
-- Add 4-hour rain prediction storage table.
|
|
-- Safe to re-run.
|
|
|
|
CREATE TABLE IF NOT EXISTS predictions_rain_4h (
|
|
ts TIMESTAMPTZ NOT NULL,
|
|
generated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
site TEXT NOT NULL,
|
|
model_name TEXT NOT NULL,
|
|
model_version TEXT NOT NULL,
|
|
threshold DOUBLE PRECISION NOT NULL,
|
|
probability DOUBLE PRECISION NOT NULL,
|
|
predict_rain BOOLEAN NOT NULL,
|
|
|
|
rain_next_4h_mm_actual DOUBLE PRECISION,
|
|
rain_next_4h_actual BOOLEAN,
|
|
evaluated_at TIMESTAMPTZ,
|
|
|
|
metadata JSONB,
|
|
|
|
PRIMARY KEY (site, model_name, model_version, ts)
|
|
);
|
|
|
|
SELECT create_hypertable('predictions_rain_4h', 'ts', if_not_exists => TRUE);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_predictions_rain_4h_site_ts
|
|
ON predictions_rain_4h(site, ts DESC);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_predictions_rain_4h_pending_eval
|
|
ON predictions_rain_4h(site, evaluated_at, ts DESC);
|