29d78708112469a71d754ba0a6d867b3921fdf31
Dev (scoreodonto_dev, pgdev/VPS4) e prod (scoreodonto, VPS3) são bancos
SEPARADOS — config feita em dev não reflete em prod. Era por isso que o modal
de Comunicação Interna ("Preencha para liberar o sistema") seguia pedindo número
em produção: pessoa_comunicacao e clinicas_horarios estavam vazias lá.
Script de sincronização das 6 tabelas de config/conta (usuarios, clinicas,
vinculos, pessoa_comunicacao, clinicas_horarios, feriados) por upsert:
carrega dev numa staging em prod e faz INSERT ... ON CONFLICT DO UPDATE, na
ordem de FK, dentro de uma transação. INSERE o que falta, ATUALIZA o que mudou,
e NUNCA apaga registros que só existam em prod (não há nenhum — dev é superset
de prod). NÃO toca pacientes/agenda/financeiro; NÃO migra sessões de WhatsApp.
Sem argumento = dry-run (ROLLBACK); --apply faz backup do prod antes e comita.
Primeira aplicação (10/jul): +4 pessoa_comunicacao, +13 clinicas_horarios (resolve
o modal), +3 usuarios, +4 clinicas, +4 vinculos; e corrigiu 2 divergências reais
que dev já tinha certas — nome de um usuário e o timezone da clínica principal
(America/Sao_Paulo → America/Campo_Grande). Pacientes intocados (1750).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Description
No description provided
Languages
TypeScript
76.5%
JavaScript
23.1%
Shell
0.2%