| 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 |