Change migration to migrate admins to Owner role rather than Admin role (#19671)

This commit is contained in:
Claire 2022-11-02 16:34:47 +01:00 committed by GitHub
parent 0f5e6dd02b
commit cb27d89997
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -9,18 +9,19 @@ class MigrateRoles < ActiveRecord::Migration[5.2]
def up def up
load Rails.root.join('db', 'seeds', '03_roles.rb') load Rails.root.join('db', 'seeds', '03_roles.rb')
admin_role = UserRole.find_by(name: 'Admin') owner_role = UserRole.find_by(name: 'Owner')
moderator_role = UserRole.find_by(name: 'Moderator') moderator_role = UserRole.find_by(name: 'Moderator')
User.where(admin: true).in_batches.update_all(role_id: admin_role.id) User.where(admin: true).in_batches.update_all(role_id: owner_role.id)
User.where(moderator: true).in_batches.update_all(role_id: moderator_role.id) User.where(moderator: true).in_batches.update_all(role_id: moderator_role.id)
end end
def down def down
admin_role = UserRole.find_by(name: 'Admin') admin_role = UserRole.find_by(name: 'Admin')
owner_role = UserRole.find_by(name: 'Owner')
moderator_role = UserRole.find_by(name: 'Moderator') moderator_role = UserRole.find_by(name: 'Moderator')
User.where(role_id: admin_role.id).in_batches.update_all(admin: true) if admin_role User.where(role_id: [admin_role.id, owner_role.id]).in_batches.update_all(admin: true) if admin_role
User.where(role_id: moderator_role.id).in_batches.update_all(moderator: true) if moderator_role User.where(role_id: moderator_role.id).in_batches.update_all(moderator: true) if moderator_role
end end
end end