roles as $role) { if(!isset($oldUsersAndRoles[$role->name])) { $oldUsersAndRoles[$role->name] = []; } $oldUsersAndRoles[$role->name][] = $user; } $user->syncRoles([]); } foreach ($roles as $role) { /** @var \Spatie\Permission\Models\Role $role */ $role->syncPermissions([]); } DB::statement('SET FOREIGN_KEY_CHECKS=0;'); Role::truncate(); Permission::truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $seeder = app(\RolesAndPermissionsSeeder::class); $seeder->run(); foreach ($oldUsersAndRoles as $role => $users) { foreach ($users as $user) { $user->assignRole($role); } } $this->info('Roles and permissions reinstalled'); } }