-- Reforma do orquestrador Multi-BM (R1/R2/R3) — 12/07/2026.
-- 1) capacity_reserved: reserva agregada de limite diário na criação do lote
--    (padrão do débito de créditos); liberada na finalização/cancelamento.
-- 2) Índices para o outbox (PENDING_SEND) e para os contadores de 24h.
-- O status novo "PENDING_SEND" usa o varchar(20) existente de multibm_messages
-- (sem alteração de coluna). Aplicar via psql (db:push interativo trava).
ALTER TABLE campaigns
  ADD COLUMN IF NOT EXISTS capacity_reserved integer NOT NULL DEFAULT 0;

CREATE INDEX IF NOT EXISTS idx_multibm_messages_bm_sent
  ON multibm_messages (bm_id, sent_at);
CREATE INDEX IF NOT EXISTS idx_multibm_messages_sender_sent
  ON multibm_messages (sender_id, sent_at);
CREATE INDEX IF NOT EXISTS idx_multibm_messages_status_sent
  ON multibm_messages (status, sent_at);
