CREATE TABLE rate_limit_buckets (
    bucket_key text PRIMARY KEY,
    window_start timestamptz NOT NULL,
    request_count integer NOT NULL DEFAULT 0 CHECK (request_count >= 0),
    updated_at timestamptz NOT NULL DEFAULT now()
);

CREATE INDEX rate_limit_buckets_updated_at_idx
    ON rate_limit_buckets (updated_at);
