Migrations

1. Drop bảng cũ: 2026_06_24_000001_drop_old_rbac_tables.php

Xoá các bảng RBAC tự xây dựng trước đây:

Schema::dropIfExists('employees_role');
Schema::dropIfExists('role_permissions');
Schema::dropIfExists('permission_group_permissions');
Schema::dropIfExists('roles');        // bảng roles cũ
Schema::dropIfExists('permissions');  // bảng permissions cũ

Bảng được giữ lại: permission_groups

2. Tạo bảng Spatie: 2026_06_24_000002_create_spatie_permission_tables.php

Tạo 5 bảng của Spatie, có tích hợp team feature và permission_group_id:

permissions

id, name, guard_name, permission_group_id (FK → permission_groups),
company_id (team), timestamps
UNIQUE(company_id, name, guard_name)

roles

id, name, guard_name, status, company_id (team), timestamps
UNIQUE(company_id, name, guard_name)

model_has_permissions

permission_id, model_type, model_id, company_id (team)
PRIMARY KEY(permission_id, model_id, model_type)

model_has_roles

role_id, model_type, model_id, company_id (team)
PRIMARY KEY(role_id, model_id, model_type)

role_has_permissions

permission_id, role_id, company_id (team)
PRIMARY KEY(permission_id, role_id)

Thứ tự chạy migration

1. Các migration cũ (tạo bảng cũ: roles, permissions, ...)
2. 2026_06_24_000001_drop_old_rbac_tables.php (xoá bảng cũ)
3. 2026_06_24_000002_create_spatie_permission_tables.php (tạo bảng mới)

Lưu ý

← Models Middleware & Routes →