'cabm' ], [ 'name' => 'CABM', 'is_active' => true, ]); // 2. Mettre à jour tous les agents orphelins vers cette structure DB::table('agents')->whereNull('structure_id')->update(['structure_id' => $cabm->id]); // 3. Mettre à jour tous les services, templates, users, etc. vers cette structure $tables = ['services', 'integration_templates', 'integration_requests', 'users', 'service_tasks', 'comments']; foreach ($tables as $table) { if (Schema::hasColumn($table, 'structure_id')) { DB::table($table)->whereNull('structure_id')->update(['structure_id' => $cabm->id]); } } // 4. S'assurer que le rôle SuperAdmin existe globalement $superAdminRole = Role::withoutGlobalScope('structure')->updateOrCreate( ['name' => 'SuperAdmin'], ['guard_name' => 'web', 'structure_id' => null] ); // 5. Créer l'utilisateur Admin par défaut s'il n'existe pas $admin = User::withoutGlobalScope('structure')->firstOrCreate( ['email' => 'admin@admin.com'], [ 'name' => 'Super Admin', 'password' => Hash::make('password'), 'structure_id' => $cabm->id ] ); // Lui assigner le rôle SuperAdmin if (!$admin->hasRole('SuperAdmin')) { $admin->assignRole($superAdminRole); } $this->command->info('Migration vers le mode SaaS terminée. Structure par défaut : CABM.'); } }