prop/priv/repo/migrations/20260330182625_ensure_precipitation_columns.exs
Graham McIntire da3503223f
Fix missing precipitation columns and backfill weather data
Add idempotent migration to ensure precip_1h_in and wx_codes columns
exist, then reset weather_queued flag and clear stale observations
so the cron re-fetches with precipitation data included.
2026-03-30 13:27:58 -05:00

32 lines
822 B
Elixir

defmodule Microwaveprop.Repo.Migrations.EnsurePrecipitationColumns do
use Ecto.Migration
def up do
execute """
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1 FROM information_schema.columns
WHERE table_name = 'surface_observations' AND column_name = 'precip_1h_in'
) THEN
ALTER TABLE surface_observations ADD COLUMN precip_1h_in double precision;
END IF;
IF NOT EXISTS (
SELECT 1 FROM information_schema.columns
WHERE table_name = 'surface_observations' AND column_name = 'wx_codes'
) THEN
ALTER TABLE surface_observations ADD COLUMN wx_codes character varying(255);
END IF;
END
$$;
"""
end
def down do
alter table(:surface_observations) do
remove :precip_1h_in
remove :wx_codes
end
end
end