Como deixar a nuvem do Contrô pronta — em poucos minutos, com um script só.
Todas as atualizações do banco da nuvem num arquivo só. Pode rodar quantas vezes quiser: nada é apagado, o que já existe fica como está.
schema_supabase.sql inteiro (pasta do programa) — ele já inclui as 13 migrações. O script único é para quem já tem o Contrô no Supabase.carregando…
| Onde pegar | O que copiar |
|---|---|
| Supabase → Project Settings → API (ou "Data API") | Project URL (ex.: https://xxxx.supabase.co) |
| Supabase → Project Settings → API Keys | A chave secreta (secret / service_role). Nunca a anon / publishable. |
| Cloudflare → R2 Object Storage | Account ID e o nome do bucket (crie um, ex.: contro-fotos-biometria) |
| Cloudflare → R2 → Manage API Tokens → Create API token (permissão Object Read & Write, só nesse bucket) | Access Key ID e Secret Access Key (a secreta aparece uma vez só — guarde) |
| Mensagem | O que fazer |
|---|---|
| "Could not find the function …", "PGRST202", "Rode a migração …" | Rode o script único (passo 1). |
| "Nuvem: conflito(s) de nome" / "já existe outro perfil com esse nome" | Perfil ou login repetido em outro computador: renomeie um dos dois, ou remova o outro em Perfis na nuvem → Na nuvem agora. |
| "NameResolutionError", "Max retries exceeded" | Falha de internet/DNS naquele momento — o Contrô tenta de novo sozinho. |
| "permission denied", "401", "Invalid API key" | Chave errada: use a chave secreta (service_role), não a anon. |
| "Horário da nuvem incorreto" | Confira o fuso e o relógio do computador; clique em "Verificar relógio da nuvem agora". |
| Espaço do plano gratuito (500 MB) quase cheio | A trava automática apaga o histórico de acessos mais antigo da nuvem (nunca dos computadores). |
| Nº | O que traz |
|---|---|
| 001 | Trava automática de espaço do banco |
| 002 | Permissão para criar/apagar os meses do histórico de acessos |
| 003 | Encaminhamento de cadastros para o computador que alcança o facial + presença das máquinas |
| 004 | Registro de credenciais (UserIDs) entre os computadores |
| 005 | O mesmo ID da pessoa no facial em todos os computadores |
| 006 | Liberar acesso e acertar o horário do facial pela nuvem |
| 007 | Quadro de avisos das unidades |
| 008 | Índices da sincronização rápida |
| 009 | Computador e operador de origem de cada cadastro |
| 010 | Prazo de exposição e lixeira dos avisos |
| 011 | Trava de segurança do histórico: RLS em cada partição de mês, caminho fixo nas funções e execução das funções de manutenção só pela chave secreta |
| 012 | Lápide de remoção: o que você remove da nuvem (bloco, unidade, equipamento, perfil ou operador) não volta mais sozinho |
| 013 | Quem emitiu cada credencial (issuer_id): a identidade do operador fica guardada no cadastro |
| 014 | União de pessoas duplicadas entre as máquinas: a união feita numa máquina vale em todas |
| 015 | Modelo do ID de facial de cada pessoa (antigo ou atual): a nuvem e as máquinas sabem em qual modelo cada pessoa está |
| 016 | O modelo do ID de facial nunca é rebaixado: uma máquina desatualizada não desfaz o ID novo de uma pessoa |
| 017 | Apagar de vez a ficha antiga de uma pessoa unida (nuvem): passa cadastros e acessos para a principal, apaga a linha e impede que ela volte |
| 018 | MAC do equipamento: a nuvem guarda o MAC que cada facial informa e o compartilha entre as máquinas (só informação nesta fase, nada é bloqueado) |