削除済み投稿を一括で完全に削除する?

チームの皆様、

この問題の解決にご協力ください!

削除済み投稿が多すぎて、それらをまとめて恒久的に削除する必要があります!

「いいね!」 3

削除されたトピックとは、その名の通り削除されたトピックのことです。これ以上の手順は不要であり、そのようなトピックを閲覧できるのは管理者のみです。あなたはすでに削除されたトピックを直接削除しています。

「いいね!」 1

削除済みトピックのリストからではなく、DB からそれらを完全に削除したいです。

それらを削除するためのコマンドや方法はありますか?

「いいね!」 5

私がやったことはありませんが、このトピックは参考になりますか:

「いいね!」 2

役に立たない :frowning: もし何か見つけたら、教えてください。

「いいね!」 1

もしかすると、これが役立つかもしれません。

「いいね!」 2

image

削除された投稿のカテゴリーが表示されません?

「いいね!」 1

deleted-posts というスラッグのカテゴリーはありますか?スクリーンショットの投稿は、おそらく異なるスラッグを持つカテゴリーにあるものと思われます。

image

「いいね!」 1

カテゴリごと削除すると、deleted-posts に含まれていないすべての投稿も削除されてしまいます。

そこで、DB から deleted-posts を削除するお手伝いをお願いします。

「いいね!」 2

これを行う方法を探している者です。Meta で長く検索し、試行錯誤を繰り返した結果、今ではすっかり混乱しています。

削除された投稿をデータベースから完全に消去することは可能でしょうか?もし可能なら、どのようにすればよいのでしょうか?

「いいね!」 2

カテゴリを削除できるなら、削除された投稿も削除できます。

データエクスプローラーをインストールするために、テストアプリを再構築中です。

:slight_smile:

「いいね!」 1

どうすればいいか確信が持てません。入力されたコマンドは、スラッグが deleted-posts のカテゴリを検索しているように見える、とただ指摘しただけです。

「いいね!」 1

Rake タスクを使用してカテゴリを削除すると、そのカテゴリ内のすべての投稿(トピックだけでなく)が削除されます。ただし、これらはソフト削除(論理削除)のみとなります。

実際にデータベースから投稿を削除する方法については、まだ確信が持てません。また、削除した投稿に関連するアップロードファイルをどうやって削除すればよいかも不明です。どちらも現在、かなり頭を悩ませています。

「いいね!」 2

私の推測では、削除された投稿の最新バージョンの一部となっていなければ、アタッチメントは日々のジョブのいずれかによって削除されるはずです。つまり、削除された投稿を「(管理者によって削除)」などに変更すれば、そのアタッチメントは編集履歴の一部となり、孤立状態になります(これにより「孤立アタッチメントの削除」クリーンアップの対象となります)。

ただし、これは単なる推測ですので、間違っている可能性もあります。:slightly_smiling_face:

出典:

「いいね!」 1

Postgres にログインすれば、データベースから削除できます。

現在の Rake destroy タスクを確認して、その仕組みを理解しようとしています。もしかすると、既存の destroy タスクを作成した人たちが、削除された投稿を処理する機能を実装してくれるかもしれません。

「いいね!」 3

はい、その通りです。
添付ファイルを削除するには、投稿の内容を削除してから、投稿自体を削除する必要があります。

「いいね!」 2

もし何か便利なコマンドや役立つ情報があれば、ぜひ教えてください!

「いいね!」 1

リチャードさん、@JammyDodger さん、ありがとうございます!

ただ一つ問題があって、これを行う投稿が2万件もあるんです。何かショートカットをご存知ありませんか?

「いいね!」 2

Discourseの旅程の序盤に位置しているため、残念ながらそのための必要な専門知識が不足しています。:slightly_smiling_face:

同様のことを実現するために、ユーザーの投稿ではなく削除された投稿を対象としてこの設定を変更することは可能でしょうか?

「いいね!」 1

Post.with_deleted.where('deleted_at is not null').update_all(raw: 'この投稿は削除されました', cooked: 'この投稿は削除されました')

「いいね!」 6