Say you had to send someone an Android debug log. These logs contain a log of private information. You shouldn’t post that URL in public, and if you message it in person the URL or attachment should be deleted soon after.
Even admins or moderators shouldn’t be able to recover that URL or attachment.
If we can’t delete it it will forever remain visible to the sender, and to all admins and moderators. These logs accumulate over time and it’s a lot of sensitive information lingering forever.
How can we not just hide that URL or attachment but actually delete it?
Olá, parece que o recurso mesclado não é semelhante ao que o título contém. Com o explorador de dados, descobri que algumas versões de um determinado tópico da wiki tinham um anexo grande que eu gostaria de destruir.
Apenas quero dizer como excluir um anexo de uma versão da postagem em instâncias auto-hospedadas. Infelizmente, o método de Search attachments by storage name não pode ser aplicado neste caso (impossível obter sha1 do nome do arquivo).
Primeiro, encontre o sha1 usando SQL:
sudo /var/discourse/launcher enter app
su - discourse
psql
SELECT filesize, original_filename, sha1 FROM uploads WHERE filesize > 3000000 order BY filesize desc;
então você obtém o sha1. Em seguida, feche a conexão com o banco de dados, saia do usuário para root e abra a linha de comando do rails:
ctrl+d
ctrl+d
rails c
pry(main)> Upload.find_by(sha1: '<sha1>')
Finalmente, você obtém o URL do anexo apontando para o local do sistema de arquivos. A questão do tópico ainda está aberta.