我认为有两种方法可以从关联的主题中删除这些标签,一种比另一种“温和”。最好先进行备份——在此处了解有关执行 Rails 命令的信息:https://meta.discourse.org/t/administrative-bulk-operations/118349。
- 对于每个标签,进入 Rails 控制台:
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
- 对第二个标签重复
- 然后你应该可以通过 UI 删除这些标签
替代的更快方法(风险更高)(我个人会选择上述方法)
但是,在执行第 2 步和第 4 步之后,我认为你也可以在进入 Rails 控制台后对每个标签执行此操作。
t = Tag.find_by_name('your_tag_name')
t.destroy!