FIX: add a unique index to developers table (#8436)

This commit is contained in:
Krzysztof Kotlarek 2019-11-29 12:41:42 +11:00 committed by Sam
parent 11a73b3f15
commit 6005fadaca
1 changed files with 24 additions and 0 deletions

View File

@ -0,0 +1,24 @@
# frozen_string_literal: true
class AddUniqueIndexToDevelopers < ActiveRecord::Migration[6.0]
def up
execute <<~SQL
DELETE FROM developers d1
USING (
SELECT MAX(id) as id, user_id
FROM developers
GROUP BY user_id
HAVING COUNT(*) > 1
) d2
WHERE
d1.user_id = d2.user_id AND
d1.id <> d2.id
SQL
add_index :developers, %i(user_id), unique: true
end
def down
raise ActiveRecord::IrreversibleMigration
end
end