From fb1ae0152d399db863457963890310a500863b02 Mon Sep 17 00:00:00 2001
From: Eugen Rochko <eugen@zeonfederated.com>
Date: Thu, 31 May 2018 17:22:33 +0200
Subject: [PATCH] Wrong exception class: ActiveRecord::RecordNotUnique, not
 PG::UniqueViolation (#7688)

* Wrong exception class: ActiveRecord::RecordNotUnique, not PG::UniqueViolation

It's completely not obvious but PG::UniqueViolation is just a string inside the exception message, not the actual class of the exception

* Favourite does not have target_account_id
---
 db/migrate/20180528141303_fix_accounts_unique_index.rb | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/db/migrate/20180528141303_fix_accounts_unique_index.rb b/db/migrate/20180528141303_fix_accounts_unique_index.rb
index e949436dc1..96cee37f9c 100644
--- a/db/migrate/20180528141303_fix_accounts_unique_index.rb
+++ b/db/migrate/20180528141303_fix_accounts_unique_index.rb
@@ -73,15 +73,17 @@ class FixAccountsUniqueIndex < ActiveRecord::Migration[5.2]
       klass.where(account_id: duplicate_account.id).find_each do |record|
         begin
           record.update_attribute(:account_id, main_account.id)
-        rescue PG::UniqueViolation
+        rescue ActiveRecord::RecordNotUnique
           next
         end
       end
+    end
 
+    [Follow, FollowRequest, Block, Mute].each do |klass|
       klass.where(target_account_id: duplicate_account.id).find_each do |record|
         begin
           record.update_attribute(:target_account_id, main_account.id)
-        rescue PG::UniqueViolation
+        rescue ActiveRecord::RecordNotUnique
           next
         end
       end
-- 
GitLab