こんにちは、
アップロード画像が欠落しているすべての投稿をまとめて削除するバッチ処理を行いたいと考えています。
> rake posts:missing_uploads
70782 件の投稿アップロードが欠落しています。
61037 件のアップロードが欠落しています。
216049 件の投稿のうち 23249 件が影響を受けています。
> PostCustomField.where(name: Post::MISSING_UPLOADS).count
=== > 23249
そのため、以下のコードを Rails コンソールで実行してすべて削除することを決定しました。
> rails c
> PostCustomField.where(name: Post::MISSING_UPLOADS).find_each do |post|
> PostDestroyer.new(Discourse.system_user, post).destroy
> end
しかし、以下のようなエラーが表示され、うまくいきませんでした。
NoMethodError: undefined method `topic' for #<PostCustomField:0x000055dd7425e160>
from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activemodel-6.1.3.2/lib/active_model/attribute_methods.rb:469:in `method_missing'
欠落したアップロードを持つトピックをまとめて削除するためのサポートをお願いできますでしょうか。
よろしくお願いいたします。