Exclusão e restauração em massa
O GCM nunca exclui permanentemente registros de membros pelo módulo de ações em massa. Toda "exclusão" é uma exclusão suave — a linha recebe um carimbo de data/hora deleted_at e desaparece de todo dropdown e lista, mas permanece no banco de dados por 30 dias. Durante essa janela, um administrador pode restaurá-la como se nunca tivesse saído.
Como excluir em massa
Abra o módulo de membros, filtre ou selecione os membros que você quer remover, e clique em Ações em massa → Excluir.

O diálogo de confirmação mostra:
- A contagem da seleção.
- A divisão por tipo de membro — para você pegar um clique errado antes que ele aconteça.
- Um botão vermelho Sim, excluir suavemente N membros.
Clique nele e a ação entra na fila. As linhas selecionadas recebem deleted_at = now() e um ID de usuário deleted_by. Elas não aparecem mais na lista de membros, em seletores dropdown, em relatórios, ou no painel.
Exclusão suave não é o mesmo que marcar como perdido
Excluir um membro é para limpeza — duplicatas, linhas de teste, erros. Marcar alguém como perdido registra que ele deixou a igreja mas mantém o registro visível e reportável. Veja Membros ativos vs perdidos. Não exclua em massa pessoas que simplesmente pararam de vir — marque-os como perdidos.
A lixeira
Membros excluídos suavemente vivem em uma página separada: Membros → Excluídos (ou /members/deleted).

Cada linha mostra:
- Nome, tipo de membro, a unidade org em que estavam.
- Carimbo Excluído em.
- Usuário Excluído por.
- Dias restantes até a purga permanente.
- Dois botões: Restaurar e Remover permanentemente.
Clique em Restaurar em uma única linha, ou filtre para um lote e use Ações em massa → Restaurar para trazer muitos de volta de uma vez. Linhas restauradas recebem deleted_at = null e reaparecem em listas, dropdowns, relatórios — exatamente como estavam antes da exclusão. A presença, doações, participações em grupos, e atribuições de ministério deles voltam junto com eles.
A janela de 30 dias
Um job de fundo noturno exclui permanentemente as linhas onde deleted_at < now() - interval '30 days'. Uma vez que isso rode, os dados se foram — sem restauração.
Se você precisa recuperar uma linha após 30 dias, a única opção é restaurar de um backup do banco de dados, que é um ticket de suporte e um processo vinculado a SLA. Então se você acabou de excluir algo importante por acidente, restaure da lixeira hoje.
Permissões
A exclusão em massa requer members.delete. A restauração em massa requer members.restore (tipicamente concedida apenas a Administradores). A remoção permanente requer members.purge e está escondida atrás de uma segunda confirmação que inclui digitar o slug da org — não há recuperação dessa ação.
Não faça purga em massa durante demos
O botão de remoção permanente só é útil para limpar dados de teste após uma sessão sandbox. Em uma org de produção, a lixeira deve rodar até seu timeout natural de 30 dias — fazer purga cedo fecha a porta para recuperação de exclusão acidental.
Outros tipos de ação em massa e exclusão
Você também pode excluir em massa:
- Doações — mesmo padrão de exclusão suave, janela de 30 dias, mesmas portas de permissão (
donations.delete). - Linhas de presença — útil para corrigir uma sessão de check-in mal feita. Linhas de presença excluídas suavemente não aparecem em relatórios.
Para ministérios, grupos, escolas e reuniões, a exclusão é uma ação de registro único (não em massa) porque o impacto em cascata é maior; veja o artigo "Excluir ou arquivar" da seção relevante.
O que é registrado
Toda exclusão e restauração em massa escreve uma linha por registro afetado em org_audit_log com a chave de ação members.bulk_delete / members.bulk_restore, o ID de usuário do ator, e o ID do membro afetado. O registro de auditoria é onde você rastreia "quem excluiu Mary Smith e quando".
Próximos passos
- Atribuição e presença em massa — o companheiro aditivo da exclusão.
- Monitorar execuções — acompanhe o progresso, tente novamente falhas.
- Membros ativos vs perdidos — o mecanismo certo para "deixou a igreja", em oposição a "excluir o registro".
