scinote-web/db/migrate/20190227125352_add_unique_index_on_user_projects.rb
Miha Mencin 51b3aea49a added uniquness validator and index on user_projects and user_teams relations
finxing typo, fixied failing test

fixing mistakenly commited file

fixing schema to include bigint migration
2019-02-27 15:09:47 +01:00

16 lines
491 B
Ruby

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