投稿やメッセージの以前のバージョンを完全に削除する

Android のデバッグログを誰かに送信する必要があるとしましょう。これらのログには機密情報が含まれています。その URL を公の場に投稿すべきではなく、直接メッセージで送る場合も、URL や添付ファイルはすぐに削除すべきです。

管理者やモデレーターであっても、その URL や添付ファイルを復元できないようにする必要があります。
もし削除できない場合、その URL は送信者とすべての管理者・モデレーターに永久に表示され続けることになります。これらのログは時間とともに蓄積し、機密情報が永久に残り続けることになります。

では、その URL や添付ファイルを単に非表示にするのではなく、実際に削除するにはどうすればよいでしょうか?

この PR で可能のようです。いいですね :slight_smile:

まさに必要な機能のようです。メッセージにも適用されるべきですね。
わあ、これは3時間前にコミットされたんですか?素晴らしい!

こんにちは。マージされた機能がタイトルと一致しないようです。データエクスプローラーで、特定のWikiトピックのいくつかのバージョンに大きな添付ファイルがあり、それを削除したいことがわかりました。

「投稿のバージョンから添付ファイルを削除する方法」をセルフホスト型インスタンスで知りたいだけです。残念ながら、Search attachments by storage name の方法は、この場合(ファイル名からsha1を取得できない)適用できません。

まず、SQLを使用してsha1を見つけます。

sudo /var/discourse/launcher enter app
su - discourse
psql
SELECT filesize, original_filename, sha1 FROM uploads WHERE filesize > 3000000 order BY filesize desc;

次に、sha1を取得します。次に、データベースへの接続を閉じ、ユーザーからルートにエグジットし、Railsコマンドラインを開きます。

ctrl+d
ctrl+d
rails c
pry(main)> Upload.find_by(sha1: '<sha1>')

最後に、ファイルシステム上の添付ファイルへのURLを取得します。トピックの質問はまだ開いています。