forked from External/greenlight
GRN2-xx: Made role priority unique scoped to provider (#942)
* Made role priority unique scoped to provider * Fixed issues related to update_role after making role priority unique
This commit is contained in:
27
db/migrate/20200130144841_change_role_priority_to_unique.rb
Normal file
27
db/migrate/20200130144841_change_role_priority_to_unique.rb
Normal file
@ -0,0 +1,27 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class MigrationProduct < ActiveRecord::Base
|
||||
self.table_name = :roles
|
||||
end
|
||||
|
||||
class ChangeRolePriorityToUnique < ActiveRecord::Migration[5.2]
|
||||
def change
|
||||
reversible do |dir|
|
||||
dir.up do
|
||||
MigrationProduct.where("priority < 0").where.not(name: "pending").each do |role|
|
||||
role.decrement!(:priority)
|
||||
end
|
||||
|
||||
add_index MigrationProduct, [:priority, :provider], unique: true
|
||||
end
|
||||
|
||||
dir.down do
|
||||
remove_index MigrationProduct, [:priority, :provider]
|
||||
|
||||
MigrationProduct.where("priority < 0").where.not(name: "pending").each do |role|
|
||||
role.increment!(:priority)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user