comments: add fix script to remove duplicate votes.

There are about 100 duplicate comment votes. This is because there
wasn't a uniqueness constraint in the database to prevent duplicate
votes. This adds a script to remove duplicate votes so that a constraint
can be added later.
This commit is contained in:
evazion
2021-01-21 02:37:16 -06:00
parent 9f313c94d1
commit c9570e698b

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env ruby
require_relative "../../config/environment"
CommentVote.transaction do
CommentVote.group(:comment_id, :user_id).having("count(*) > 1").count.each do |(comment_id, user_id), count|
votes = CommentVote.where(comment_id: comment_id, user_id: user_id).order(:id)
# Remove all but the first duplicate vote.
dupe_votes = votes.drop(1)
dupe_votes.each { p _1 }
dupe_votes.each(&:destroy)
end
end