Partition list for hrrr_profiles + hrdps_profiles was hand-edited in priv/repo/structure.sql; if no human extended it, writes for the next quarter would silently fail at the worker level (Rust hrrr-point-worker marks tasks failed; the calibration pipeline silently joins NULLs). Adds: * Microwaveprop.PartitionManager — runtime DDL helper. Quarter math via a single integer index (year*4 + quarter) for rollover safety. Coverage check via pg_inherits before CREATE so a quarterly target inside an existing wider partition (some 2027 ones are half-year) is treated as :exists rather than colliding. * Microwaveprop.Workers.PartitionMaintenanceWorker — daily cron at 03:15 UTC, 4-quarter lookahead. Idempotent; cheap when nothing's missing. lookback_quarters arg lets ops widen for catch-up. Tests cover the create + idempotent re-run + name format + year rollover paths via a synthetic parent created inside the sandbox transaction (no DDL leaks into the shared test DB). |
||
|---|---|---|
| .. | ||
| fixtures | ||
| microwaveprop | ||
| microwaveprop_web | ||
| mix/tasks | ||
| support | ||
| test_helper.exs | ||