forked from External/greenlight
26 lines
572 B
Ruby
26 lines
572 B
Ruby
# frozen_string_literal: true
|
|
|
|
class RolifyCreateRoles < ActiveRecord::Migration[5.0]
|
|
def change
|
|
create_table(:roles) do |t|
|
|
t.string :name
|
|
t.references :resource, polymorphic: true
|
|
|
|
t.timestamps
|
|
end
|
|
|
|
create_table(:users_roles, id: false) do |t|
|
|
t.references :user
|
|
t.references :role
|
|
end
|
|
|
|
add_index(:roles, :name)
|
|
add_index(:roles, [:name, :resource_type, :resource_id])
|
|
add_index(:users_roles, [:user_id, :role_id])
|
|
|
|
User.all.each do |user|
|
|
user.add_role(:user) if user.roles.blank?
|
|
end
|
|
end
|
|
end
|