3 class CreateUserRoles < ActiveRecord::Migration[4.2]
4 class User < ActiveRecord::Base
7 class UserRole < ActiveRecord::Base
11 create_enumeration :user_role_enum, %w[administrator moderator]
13 create_table :user_roles do |t|
14 t.column :user_id, :bigint, :null => false
15 t.column :role, :user_role_enum, :null => false
17 t.timestamps :null => true
20 User.where(:administrator => true).each do |user|
21 UserRole.create(:user_id => user.id, :role => "administrator")
24 remove_column :users, :administrator
26 add_foreign_key :user_roles, :users, :name => "user_roles_user_id_fkey"
30 add_column :users, :administrator, :boolean, :default => false, :null => false
32 UserRole.where(:role => "administrator").each do |role|
33 user = User.find(role.user_id)
34 user.administrator = true
38 drop_table :user_roles
39 drop_enumeration :user_role_enum