Files
go-weatherstation/db/init/003_rain_predictions_4h.sql
T

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