-- ---------------------------------------------------------------------------
-- O irmao no PostgreSQL de `scripts/migracao-cota-do-pacote.sql` (03/11/2026, a fatia
-- 70, PDV-CANCELAMENTO; a P0 de `docs/f3-relatorios/spec-ordem.md`), para a COPIA LOCAL
-- de pe -- as colunas, o indice e a chave como o `scripts/gerar-ddl-postgres.php` os
-- emite. Os bancos da suite, o do contrato e a producao nascem do `postgres/schema.sql`.
--
--   docker exec -i franquiabv-postgres-1 sh -c 'psql -U "$POSTGRES_USER" -d franquiabv_dev -v ON_ERROR_STOP=1' \
--     < postgres/migracao-cota-do-pacote.sql
--
-- IDEMPOTENTE, numa transacao so. PARA DESFAZER: `ALTER TABLE vendas_produtos DROP COLUMN
-- vendedor_do_pacote, DROP COLUMN cota_do_vendedor;` e `ALTER TABLE produtos DROP COLUMN
-- cota_parte_pacote;`
-- ---------------------------------------------------------------------------

BEGIN;

ALTER TABLE produtos ADD COLUMN IF NOT EXISTS cota_parte_pacote double precision NOT NULL DEFAULT '0';
ALTER TABLE vendas_produtos ADD COLUMN IF NOT EXISTS vendedor_do_pacote integer DEFAULT NULL;
ALTER TABLE vendas_produtos ADD COLUMN IF NOT EXISTS cota_do_vendedor double precision DEFAULT NULL;

CREATE INDEX IF NOT EXISTS vendas_produtos_FK_VENDAS_PRODUTOS_vendedor_do_pacote ON vendas_produtos (inquilino_id, vendedor_do_pacote);

DO $$
BEGIN
    IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'fk_vendas_produtos_vendedor_do_pacote') THEN
        ALTER TABLE vendas_produtos ADD CONSTRAINT FK_VENDAS_PRODUTOS_vendedor_do_pacote
            FOREIGN KEY (vendedor_do_pacote) REFERENCES usuarios (id);
    END IF;
END
$$;

COMMIT;
