-- ---------------------------------------------------------------------------
-- Desde quando o PDV grava o cancelamento: a linha `cancelamento` de
-- `colunas_gravadas` (03/11/2026, a fatia 70 da fila das telas que faltam,
-- PDV-CANCELAMENTO; a nota 4 da fatia e a 1.5 de `docs/f3-relatorios/spec-ordem.md`).
--
--   docker compose exec -T mysql mysql -uroot -proot franquiabv_dev < scripts/colunas-gravadas-cancelamento.sql
--
-- NAO E MIGRACAO DE ESQUEMA, E NAO VAI AO LACO DO PASSO 0: e um DADO, e ele so diz a
-- verdade com o codigo que grava no ar. A linha diz ao relatorio "o PDV grava quando e
-- quem cancelou desde este instante"; antes dela, o numero que depende da coluna e nulo
-- ("sem registro"). Escrita antes do codigo, o periodo entre as duas datas mostraria a
-- venda cancelada sem o instante como se o registro existisse -- o defeito exato que a
-- 1.5 existe para impedir.
--
-- POR ISSO RODA DEPOIS DO CODIGO QUE GRAVA, sempre: na copia local, no dia da fatia 70
-- (o codigo que grava ja esta nela); em producao, NA ETAPA 1, NO PASSO 7 DA JANELA, logo
-- depois da troca da arvore e antes de liberar (`docs/procedimento-de-corte-etapa-1.md`),
-- contra o MySQL de producao. A carga da etapa 2 a leva ao PostgreSQL, e o "7d" de
-- `docs/procedimento-de-corte.md` (`postgres/colunas-gravadas-cancelamento.sql`, o irmao
-- deste) nao a muda. O codigo antigo de producao nunca grava o instante, e a linha
-- escrita no passo 0 mentiria desde o passo 0 ate a janela.
--
-- So o `cancelamento`: as outras quatro colunas da fatia do PDV ganham a sua linha na
-- fatia que liga o escritor de cada uma (71, 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 = 'cancelamento';` -- o
-- relatorio volta a dizer "ainda nao gravado".
-- ---------------------------------------------------------------------------

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

-- Conferencia. O esperado: so a linha `cancelamento`.
SELECT nome, desde FROM colunas_gravadas ORDER BY nome;
