-- ---------------------------------------------------------------------------
-- Desde quando o PDV grava quem lancou o desconto manual: a linha `descontoManual` de
-- `colunas_gravadas` (03/11/2026, a fatia 71 da fila das telas que faltam,
-- PDV-DESCONTO-LANCADO-POR; a P2 de `docs/f3-relatorios/spec-ordem.md` e a nota 4 da fatia 70).
--
--   docker compose exec -T mysql mysql -uroot -proot franquiabv_dev < scripts/colunas-gravadas-desconto-manual.sql
--
-- O MOLDE E O DO CANCELAMENTO (`scripts/colunas-gravadas-cancelamento.sql`), pelo mesmo
-- porque: NAO E MIGRACAO DE ESQUEMA, E NAO VAI AO LACO DO PASSO 0. A coluna
-- (`vendas_produtos.desconto_lancado_por`) ja existe desde a P0 (a fatia 70); esta linha diz
-- ao Descontos "o PDV grava quem lancou o desconto digitado desde este instante", e antes dela
-- o desconto manual e "nao registrado". Escrita antes do codigo que grava, o periodo entre as
-- duas datas mostraria o desconto sem autor como se o registro existisse.
--
-- POR ISSO RODA DEPOIS DO CODIGO QUE GRAVA, sempre: na copia local, no dia da fatia 71 (o
-- codigo que grava ja esta nela); em producao, NA ETAPA 1, NO PASSO 7 DA JANELA, logo depois da
-- linha do cancelamento, com a aplicacao em manutencao -- ninguem lanca desconto entre o codigo
-- e a linha (`docs/procedimento-de-corte-etapa-1.md`). A carga da etapa 2 a leva ao PostgreSQL,
-- e o "7d" de `docs/procedimento-de-corte.md` (`postgres/colunas-gravadas-desconto-manual.sql`,
-- o irmao deste) nao a muda.
--
-- So o `descontoManual`: o `valorContado`, o `motivoDaRetirada` e o `cotaDoPacote` ganham a sua
-- linha na fatia que liga o escritor de cada uma (72, 73 e 74), por um arquivo como este.
--
-- IDEMPOTENTE: so escreve se nao houver a linha (a segunda vez nao muda o instante da
-- primeira). Nao apaga nada.
--
-- PARA DESFAZER: `DELETE FROM colunas_gravadas WHERE nome = 'descontoManual';` -- o
-- Descontos volta a dizer "ainda nao gravado".
-- ---------------------------------------------------------------------------

INSERT INTO colunas_gravadas (nome, desde)
SELECT 'descontoManual', NOW()
  FROM DUAL
 WHERE NOT EXISTS (SELECT 1 FROM colunas_gravadas WHERE nome = 'descontoManual');

-- Conferencia. O esperado: as linhas `cancelamento` e `descontoManual`.
SELECT nome, desde FROM colunas_gravadas ORDER BY nome;
