Total Complexity | 1 |
Total Lines | 23 |
Duplicated Lines | 0 % |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | # frozen_string_literal: true |
||
3 | class RolifyCreateRoles < ActiveRecord::Migration[5.0] |
||
4 | def change |
||
5 | create_table(:roles) do |t| |
||
6 | t.string :name |
||
7 | t.references :resource, polymorphic: true |
||
8 | |||
9 | t.timestamps |
||
10 | end |
||
11 | |||
12 | create_table(:users_roles, id: false) do |t| |
||
13 | t.references :user |
||
14 | t.references :role |
||
15 | end |
||
16 | |||
17 | add_index(:roles, :name) |
||
18 | add_index(:roles, [:name, :resource_type, :resource_id]) |
||
19 | add_index(:users_roles, [:user_id, :role_id]) |
||
20 | |||
21 | User.all.each do |user| |
||
22 | user.add_role(:user) if user.roles.blank? |
||
23 | end |
||
24 | end |
||
25 | end |
||
26 |