-- ABOUTME: Migration to create egg_stats_30d_by_location table. -- ABOUTME: Caches computed 30-day rolling statistics for egg production. -- Egg stats computed on-read and cached per location -- Feed amounts in grams (not kg) for precision -- Costs stored as REAL EUR values CREATE TABLE egg_stats_30d_by_location ( location_id TEXT PRIMARY KEY REFERENCES locations(id), window_start_utc INTEGER NOT NULL, window_end_utc INTEGER NOT NULL, eggs_total_pcs INTEGER NOT NULL, feed_total_g INTEGER NOT NULL, feed_layers_g INTEGER NOT NULL, cost_per_egg_all_eur REAL NOT NULL, cost_per_egg_layers_eur REAL NOT NULL, layer_eligible_bird_days INTEGER NOT NULL, layer_eligible_count_now INTEGER NOT NULL, updated_at_utc INTEGER NOT NULL ); -- Index for finding stale stats that need recomputation CREATE INDEX idx_egg_stats_updated ON egg_stats_30d_by_location(updated_at_utc);