From ad747a271f0181d95971f58b6a3581a09c83d208 Mon Sep 17 00:00:00 2001 From: Alexandre Ruban <33979976+alexandreruban@users.noreply.github.com> Date: Wed, 4 Nov 2020 17:55:05 +0100 Subject: [PATCH] Fix rails db:seed error (#11272) rails db:seed sometimes tries to create two 'vomit' reactions on the same Article which is prohibited by the validations on the Reaction model. --- db/seeds.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/db/seeds.rb b/db/seeds.rb index f9def90ad..3346751fb 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -450,9 +450,16 @@ seeder.create_if_none(FeedbackMessage) do ) 3.times do + article_id = Article + .left_joins(:reactions) + .where.not(articles: { id: Reaction.article_vomits.pluck(:reactable_id) }) + .order(Arel.sql("RANDOM()")) + .first + .id + Reaction.create!( category: "vomit", - reactable_id: Article.order(Arel.sql("RANDOM()")).first.id, + reactable_id: article_id, reactable_type: "Article", user_id: mod.id, )