-- Ensure weather_data upsert works by providing a unique index
-- Safe to run multiple times
DO $$
BEGIN
  IF EXISTS (
    SELECT 1 FROM pg_indexes 
    WHERE schemaname = 'public' AND indexname = 'idx_weather_data_property_date'
  ) THEN
    DROP INDEX IF EXISTS idx_weather_data_property_date;
  END IF;
EXCEPTION WHEN undefined_table THEN
  -- table may not exist yet in some environments; ignore
  NULL;
END $$;

CREATE UNIQUE INDEX IF NOT EXISTS ux_weather_data_property_date
  ON weather_data(property_id, date);

