Olá a todos,
Sou auditor em um site que utiliza o Discourse. Um dos membros apagou cerca de 1300 mensagens. O sistema coloca automaticamente as respostas a essa mensagem no final do tópico. Temos alguma ferramenta de restauração em lote?
Olá a todos,
Sou auditor em um site que utiliza o Discourse. Um dos membros apagou cerca de 1300 mensagens. O sistema coloca automaticamente as respostas a essa mensagem no final do tópico. Temos alguma ferramenta de restauração em lote?
Se você estiver com hospedagem própria, pode fazer isso pelo console do Rails. Se estiver com hospedagem gerenciada, entre em contato com o suporte.
Pode haver algumas dicas em Operações em Lote Administrativas.
Algo como
t = Topic.all.with_deleted.where("deleted_at is not null").where(user_id: 123)
t.update_all(deleted_at: nil, deleted_by_id: nil)
Mas acho que, em seguida, você precisará executar algo mais para atualizar outras tabelas.
Você pode descrever exatamente como eles fizeram isso? Em uma instalação padrão do Discourse, um usuário comum tem limites de taxa para quanto pode apagar, e as exclusões levam 24 horas para entrar em vigor.
Acho que ele deletou cinco posts todos os dias.
Entendi. Esses são exclusões lógicas (soft-deletes), então você deve poder desfazê-las, seja pela interface do usuário ou pela linha de comando, se fizer SSH no servidor.
Você pode reduzir o número de exclusões permitidas por dia nas configurações do seu site de administração para evitar que isso aconteça no futuro; há uma discussão sobre permitir o valor zero nessa configuração, o que impediria todas as exclusões.
Podemos garantir que a configuração zero seja suportada na próxima semana, @sam? E atualizar o texto ao redor da configuração para que as pessoas saibam que ela existe.
Feito via:
Definir max_post_deletions_per_minute ou max_post_deletions_per_day como 0 desativará a exclusão automática de postagens.