-- +goose Up
-- +goose StatementBegin

ALTER TABLE pedidos
  ADD COLUMN IF NOT EXISTS orcamento_id     UUID REFERENCES propostas(id) ON DELETE SET NULL,
  ADD COLUMN IF NOT EXISTS orcamento_numero TEXT DEFAULT '';

CREATE INDEX IF NOT EXISTS idx_pedidos_orcamento ON pedidos(tenant_id, orcamento_id);

COMMENT ON COLUMN pedidos.orcamento_id     IS 'Proposta/orçamento de origem, quando pedido criado por aprovação';
COMMENT ON COLUMN pedidos.orcamento_numero IS 'Número do orçamento de origem (desnormalizado para exibição)';

-- Backfill: liga pedidos que já tinham pedido_id preenchido na proposta
UPDATE pedidos p
SET orcamento_id     = pr.id,
    orcamento_numero = pr.numero
FROM propostas pr
WHERE pr.pedido_id = p.id
  AND p.orcamento_id IS NULL;

-- +goose StatementEnd

-- +goose Down
-- +goose StatementBegin
ALTER TABLE pedidos
  DROP COLUMN IF EXISTS orcamento_id,
  DROP COLUMN IF EXISTS orcamento_numero;
-- +goose StatementEnd
