- Created a new SQL file `query_mig_users.sql` to select and transform user data. - The query retrieves user details including user ID, name, email, and various flags. - Includes a commented-out query to count total users per group.
33 lines
1019 B
PHP
33 lines
1019 B
PHP
<?php
|
|
|
|
namespace Modules\Usermanagement\Database\Seeders;
|
|
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Facades\Hash;
|
|
use Modules\Usermanagement\Models\User;
|
|
use Spatie\Permission\Models\Role;
|
|
|
|
class MigAssignRoleSeniorOfficerSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*/
|
|
public function run(): void
|
|
{
|
|
// $this->call([]);
|
|
// Pada LPJ OLD = PEMERIKSA (030) dan ADMIN PENILAI DAN PEMERIKSA (049)
|
|
// Pada LPJ NEW = senior-officer (role_id=5)
|
|
$users = User::whereIn('mig_kd_group', ['030', '049'])->get();
|
|
|
|
// Update password langsung tanpa loop
|
|
User::whereIn('mig_kd_group', ['030', '049'])->update([
|
|
'password' => Hash::make('2Wsx1Qaz'),
|
|
]);
|
|
|
|
// Loop hanya untuk assignRole()
|
|
$users->each(fn($user) => $user->assignRole('senior-officer'));
|
|
|
|
$this->command->info("Role 'senior-officer' berhasil diberikan ke " . $users->count() . " user.");
|
|
}
|
|
}
|