forgetCachedPermissions(); $permission = Permission::firstOrCreate( ['name' => 'calls.through.api', 'guard_name' => 'web'], ['perm_group' => 'Calls'] ); foreach (['admin', 'company_manager'] as $roleName) { if ($role = Role::where('name', $roleName)->where('guard_name', 'web')->first()) { $role->givePermissionTo($permission); } } } public function down() { app()[\Spatie\Permission\PermissionRegistrar::class]->forgetCachedPermissions(); if ($permission = Permission::where('name', 'calls.through.api')->first()) { Role::all()->each(fn (Role $role) => $role->revokePermissionTo($permission)); $permission->delete(); } } }