-- ---------------------------------------------------------------------------
-- Desde quando a adesao do amigo do formulario e gravada na linha do convite: a linha `indicacaoDoFormulario` de
-- `colunas_gravadas` (03/11/2026, a fatia 75 da fila das telas que faltam, REL-INDICACAO-PORTA; a I3 de
-- `docs/f3-relatorios/spec-indicacao.md` e as respostas 264 (b) e 265 (b) do dono, de 25/10/2026). A SETIMA linha.
--
--   docker compose exec -T mysql mysql -uroot -proot franquiabv_dev < scripts/colunas-gravadas-indicacao-do-formulario.sql
--
-- O MOLDE E O DAS SEIS DE ANTES (`scripts/colunas-gravadas-cancelamento.sql` ... `-custo-do-item.sql`), pelo mesmo
-- porque: NAO E MIGRACAO DE ESQUEMA, E NAO VAI AO LACO DO PASSO 0. A coluna (`indicacoes.porta`) e o passado (as
-- marcas "Indicação - <id>" escritas uma vez como linhas do formulario) entram pela `scripts/migracao-indicacao-porta.sql`,
-- no passo 0; esta linha diz ao Programa de Indicacao "toda adesao pelo formulario desde este instante esta gravada
-- na linha do convite": o codigo novo grava a linha tambem para quem indica inativo, e a etapa 3 do amigo sem a
-- ligacao marca a adesao nela (`FidelidadeService::salvarDados`, pelo `doFormularioDoConvidado`). A partir do dia
-- dela, o cartao "Adesoes" conta o formulario; antes, "sem registro" -- a adesao do passado nao foi gravada. Escrita
-- antes do codigo, a adesao de quem concluiu entre as duas datas sumiria calada.
--
-- POR ISSO RODA DEPOIS DO CODIGO QUE GRAVA, sempre: na copia local, no dia da fatia 75 (o codigo ja esta nela); em
-- producao, NA ETAPA 1, NO PASSO 7 DA JANELA, logo depois da linha do custo do item, com a aplicacao em manutencao
-- (`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-indicacao-do-formulario.sql`, o irmao deste) nao a muda.
-- Nao depende das outras seis: a ordem e so a do passo.
--
-- So o `indicacaoDoFormulario`: as outras seis tem os seus arquivos.
--
-- 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 = 'indicacaoDoFormulario';` -- o Programa de Indicacao
-- volta a dizer "ainda nao gravado" na adesao do formulario (os convites continuam vindo das linhas).
-- ---------------------------------------------------------------------------

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

-- Conferencia. O esperado: as sete linhas `cancelamento`, `cotaDoPacote`, `custoDoItem`, `descontoManual`,
-- `indicacaoDoFormulario`, `motivoDaRetirada` e `valorContado`.
SELECT nome, desde FROM colunas_gravadas ORDER BY nome;
