create table if not exists news_provider_snapshots ( id bigserial primary key, provider_name text not null unique, fetched_ts timestamptz, freshness_code text not null, event_count integer not null default 0, is_active boolean not null default false, code text not null, active_events jsonb not null default '[]'::jsonb, error text, raw_payload jsonb not null default '{}'::jsonb, updated_at timestamptz not null default now() );