option('role'); $dryRun = (bool) $this->option('dry-run'); $ids = User::query() ->where('is_active', true) ->whereDoesntHave('roles') ->pluck('id'); if ($ids->isEmpty()) { $this->info('Keine aktiven rollenlosen Nutzer gefunden – nichts zu tun.'); return self::SUCCESS; } if ($dryRun) { $this->warn("[DRY-RUN] {$ids->count()} aktive rollenlose Nutzer würden die Rolle '{$role}' erhalten."); return self::SUCCESS; } $assigned = 0; foreach ($ids->chunk(500) as $chunk) { User::query()->whereIn('id', $chunk)->get()->each(function (User $user) use ($roleSync, $role, &$assigned): void { $roleSync->assignRoleAndSyncPermissions($user, $role); $assigned++; }); } $this->info("{$assigned} aktiven rollenlosen Nutzern die Rolle '{$role}' zugewiesen."); return self::SUCCESS; } }