osem-fcy/db/migrate/20140730104658_migrate_roles_for_cancancan.rb

30 lines
765 B
Ruby

# frozen_string_literal: true
class MigrateRolesForCancancan < ActiveRecord::Migration[4.2]
def up
# Store the number of existing roles
old_roles = Role.count
Role.all.each do |role|
role.users.each do |user|
Conference.all.each do |conference|
if ['Admin', 'Organizer'].include?(role.name)
user.add_role :organizer, conference
user.update_columns(is_admin: true)
else
user.add_role role.name.parameterize.underscore.to_sym, conference
end
end
end
end
# Delete old roles
Role.first(old_roles).each do |role|
role.destroy
end
end
def down
raise ActiveRecord::IrreversibleMigration.new('Cannot reverse migration.')
end
end