Ошибка добавления синонима тега, когда оба уже существуют на теме

Похоже, текущий код не может обработать создание синонимов, если тема уже содержала оба тега до создания синонима.

Started POST "/tag/solstrip/synonyms" for 3.14.14.5 at 2020-02-29 12:07:28 +0000
Processing by TagsController#create_synonyms as */*
  Parameters: {"synonyms"=>["solstrips"], "tag_id"=>"solstrip"}
Completed 500 Internal Server Error in 46ms (ActiveRecord: 0.0ms | Allocations: 6385)
ActiveRecord::RecordNotUnique (PG::UniqueViolation: ERROR:  duplicate key value violates unique constraint "index_topic_tags_on_topic_id_and_tag_id"
DETAIL:  Key (topic_id, tag_id)=(14651, 310) already exists.
)
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.1.6/lib/patches/db/pg.rb:69:in `exec_params'
Failed to handle exception in exception app middleware : PG::UniqueViolation: ERROR:  duplicate key value violates unique constraint "index_topic_tags_on_topic_id_and_tag_id"
DETAIL:  Key (topic_id, tag_id)=(14651, 310) already exists.

Может ли кто-нибудь подтвердить это и, возможно, перенести в раздел #bugs? Спасибо!

4 лайка

Да, эта проблема также возникает в нашей установке Discourse.

1 лайк

Подтверждаю, что проблема сохраняется в последней версии кода.

5 лайков

@vinothkannans, не мог бы ты это уладить?

2 лайка

Это уже исправлено в указанном ниже коммите

7 лайков