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