Я думаю, что есть два способа удалить эти теги из связанных с ними тем в консоли Rails: один из них «мягче», чем другой. Хорошей идеей будет сначала сделать резервную копию — см. здесь о выполнении команд Rails: Administrative Bulk Operations.
- Для каждого тега войдите в консоль 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
- Повторите для второго тега
- После этого вы сможете удалить эти теги через интерфейс
Альтернативный более быстрый, но рискованный метод (я бы сам выбрал первый способ)
Вместо шагов 2 и 4, я думаю, можно также сделать следующее для каждого тега после входа в консоль Rails.
t = Tag.find_by_name('your_tag_name')
t.destroy!