レールコンソールでそれらのタグを関連トピックから削除するには、2つの方法があると思います。一方はもう一方よりも「ソフト」です。最初にバックアップを取ることをお勧めします。レールコマンドについては、こちらをご覧ください: https://meta.discourse.org/t/administrative-bulk-operations/118349。
- 各タグについて、レールコンソールに入力します:
cd /var/discourse
./launcher enter app
rails c
- タグを見つけて、トピックから削除します。
TAG_NAME = "your_tag_name" # タグ名に置き換えてください
TAG = Tag.find_by(name: TAG_NAME)
Topic.joins(:tags).where(tags: { name: TAG_NAME }).each do |topic|
topic.tags.delete(TAG)
topic.save
end
- 2番目のタグについても繰り返します。
- その後、UIからそれらのタグを削除できるようになるはずです。
代替の高速な方法(よりリスクが高い)(私は自分で上記の方法を取ります)
しかし、ステップ2と4の代わりに、レールコンソールに入力した後、各タグに対して次を行うこともできると思います。
t = Tag.find_by_name('your_tag_name')
t.destroy!