É possível excluir posts do banco de dados?

Peço desculpas antecipadamente se a pergunta for muito básica.
Tenho acesso ao banco de dados do Discourse (por meio do plugin).
Posso excluir algumas das postagens (que criei eu mesmo em grande quantidade durante os testes) usando uma consulta?

delete from posts where id in (123, 567, ... etc)

É seguro executar esse tipo de operação?

Se você está acessando o banco de dados por meio do plugin Data Explorer, saiba que esse plugin permite apenas consultas de leitura. Não é possível usá-lo para escrever no banco de dados.

É possível excluir completamente posts pelo console do Rails, mas não recomendamos fazer isso. A melhor abordagem seria usar o plugin Data Explorer para encontrar os posts que deseja excluir e, em seguida, usar as ferramentas disponíveis na interface do usuário do Discourse para removê-los.

Se, por algum motivo, essa abordagem não funcionar para você, avise-nos e podemos fornecer detalhes sobre como excluir posts pelo console do Rails.

Não sou especialista nessa engine, mas acredito que não seja seguro, pois dessa forma você apenas excluirá a entrada da tabela de posts, e um post pode ter entradas vinculadas em outras tabelas, além de muitas informações de metadados relacionadas a esse post_id. Mais tarde, algo pode quebrar. Portanto, você deve usar as ferramentas integradas para exclusão de posts.

Obrigado, Nikolay.
Eu também acho… Mas de repente especialistas reais neste aplicativo vão aparecer e dirão: sintam-se à vontade para deletar! )))

Exceto que nenhum especialista diz que é aceitável:

  • Não é recomendado.
  • Não está no roteiro do Discourse e não há planos para adicioná-lo.
  • Não está sendo desenvolvido porque uma exclusão permanente não pode ser desfeita.
  • Ninguém pagou para que esse recurso fosse desenvolvido.

Ninguém que tenha solicitado isso desenvolveu o recurso, pois é ou muito difícil ou não vale o custo do desenvolvimento.

Veja este tópico para exemplos desses pontos:

Eu não me chamaria de especialista, mas ao longo dos anos examinei, analisei e brinquei bastante com arquivos e código.

Vi o suficiente para convencer-me de que, por conta própria, não tenho conhecimento para fazer mais do que experimentar em localhost. O que vi e o que não vi me fazem hesitar.

Nunca vi um único “ON DELETE CASCADE``. Já vi muitos "has_many", "dependent:", "Índices" e "ensure_consistency`” em vários arquivos de modelo. Existe um arquivo de job: discourse/app/jobs/scheduled/ensure_db_consistency.rb at main · discourse/discourse · GitHub

Pessoalmente, por mais que eu goste do Discourse, não esperaria que ele lidasse com as consequências de ações que escapam às salvaguardas principais. Ou seja, muitas vezes quebro meu próprio código, mas assumo total responsabilidade quando isso acontece. Mas isso sou eu. E certamente pode haver algum código principal em algum lugar do qual eu ainda não tenha conhecimento.

Além disso,

Mas isso seria inútil no caso do OP.