add roles to admin panel

This commit is contained in:
João Geonizeli
2022-07-21 10:45:48 -03:00
parent 734b6e911a
commit 705a465292
10 changed files with 209 additions and 100 deletions

View File

@@ -0,0 +1,11 @@
class CreateRoles < ActiveRecord::Migration[7.0]
def change
create_table :roles do |t|
t.string :name
t.timestamps
end
add_index(:roles, :name, unique: true)
end
end

View File

@@ -0,0 +1,8 @@
class CreateJoinTableUserRole < ActiveRecord::Migration[7.0]
def change
create_join_table(:users, :roles, unique: true) do |t|
t.index(%i[user_id role_id])
t.index(%i[role_id user_id])
end
end
end

16
db/schema.rb generated
View File

@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[7.0].define(version: 2022_07_21_132939) do
ActiveRecord::Schema[7.0].define(version: 2022_07_21_133421) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -118,6 +118,20 @@ ActiveRecord::Schema[7.0].define(version: 2022_07_21_132939) do
t.index ["user_id"], name: "index_review_requests_on_user_id"
end
create_table "roles", force: :cascade do |t|
t.string "name"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["name"], name: "index_roles_on_name", unique: true
end
create_table "roles_users", id: false, force: :cascade do |t|
t.bigint "user_id", null: false
t.bigint "role_id", null: false
t.index ["role_id", "user_id"], name: "index_roles_users_on_role_id_and_user_id"
t.index ["user_id", "role_id"], name: "index_roles_users_on_user_id_and_role_id"
end
create_table "subjects", force: :cascade do |t|
t.string "name"
t.bigint "category_id", null: false