Migrações de Banco¶
As migrações criam e atualizam a estrutura das tabelas no banco DNCI. Devem ser executadas na ordem indicada.
Lista de Migrações¶
| Fase | Script | Descrição |
|---|---|---|
| 1 | run_fase1.py |
Tabelas base: log_auditoria_dnci, log_validacao_dnci, checkpoint |
| 2 | run_fase2.py |
Tabelas de agravos: dnci_agravo, dnci_evidencia, dnci_presumivel |
| 4 | run_fase4.py |
Cenários: cenario_monitoramento, cenario_agravo, cenario_estabelecimento |
| 5 | run_fase5.py |
Usuários: usuarios_dnci com RBAC |
| 6 | run_fase6.py |
Cache de clima: clima_cache |
| 7 | run_fase7.py |
Auditoria LGPD: audit_log |
| 8 | run_fase8.py |
Versionamento de agravos: colunas versao, vigencia_*, views |
| 9 | run_fase9.py |
Diagnósticos brutos: diagnosticos_brutos |
| 10 | run_fase10.py |
Cenários formalizados: agravo_versao em cenários, motivo |
| 11 | run_fase11.py |
Revisão manual: fila_revisao_manual |
Fases 3 não existe
A numeração pula a fase 3 — isto é intencional.
Como Executar¶
# Com o container do dashboard rodando:
docker compose exec dnci-dashboard python /app/migrations/run_fase1.py
docker compose exec dnci-dashboard python /app/migrations/run_fase2.py
# ... continuar na ordem até run_fase11.py
Idempotentes
As migrações são idempotentes — podem ser executadas mais de uma vez sem causar erros. O script verifica se a tabela/coluna já existe antes de criar.
Atualização de Versão¶
Procedimento Padrão¶
# 1. Obter código mais recente
cd /opt/monitordnci
git pull origin main
# 2. Parar containers
docker compose down
# 3. Reconstruir imagens (sem cache)
docker compose build --no-cache
# 4. Executar novas migrações (se houver)
docker compose up -d dnci-dashboard
docker compose exec dnci-dashboard python /app/migrations/run_faseN.py
# 5. Iniciar todos os serviços
docker compose up -d
# 6. Verificar health
curl http://localhost:5000/api/health
# 7. Verificar logs
docker compose logs -f --tail=50