scinote-web/db/migrate/20190227125306_add_unique_index_on_user_teams.rb

17 lines
461 B
Ruby
Raw Normal View History

# frozen_string_literal: true
class AddUniqueIndexOnUserTeams < ActiveRecord::Migration[5.1]
def up
# firstly delete the duplicates
execute 'WITH uniq AS
(SELECT DISTINCT ON (user_id, team_id) * FROM user_teams)
DELETE FROM user_teams WHERE user_teams.id NOT IN
(SELECT id FROM uniq)'
add_index :user_teams, %i(user_id team_id), unique: true
end
def down
remove_index :user_teams, column: %i(user_id team_id)
end
end