Files
sam-manage/database/seeders/SalesRoleSeeder.php
김보곤 c5f2957ab7 fix:recruiter 역할 DB에서 완전 삭제
- 시더에서 recruiter 역할 및 할당 강제 삭제 로직 추가
- soft delete 레코드 포함 forceDelete 처리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 16:45:59 +09:00

65 lines
1.9 KiB
PHP

<?php
namespace Database\Seeders;
use App\Models\Role;
use App\Models\UserRole;
use Illuminate\Database\Seeder;
class SalesRoleSeeder extends Seeder
{
/**
* 영업파트너 역할 시더
*
* 모든 영업 담당자는 "영업파트너"라는 동일한 직위
* 역할은 수행하는 업무를 정의
*/
public function run(): void
{
$tenantId = 1; // HQ 테넌트
$roles = [
[
'name' => 'sales',
'description' => '영업파트너 - 고객 발굴, 계약 체결',
],
[
'name' => 'manager',
'description' => '상담매니저 - 고객 상담, 인터뷰 정리',
],
];
foreach ($roles as $roleData) {
Role::updateOrCreate(
[
'tenant_id' => $tenantId,
'name' => $roleData['name'],
],
[
'description' => $roleData['description'],
'guard_name' => 'web',
]
);
}
// recruiter 역할 삭제 (더 이상 사용하지 않음)
$recruiterRole = Role::where('tenant_id', $tenantId)
->where('name', 'recruiter')
->first();
if ($recruiterRole) {
// 해당 역할을 가진 user_roles 강제 삭제 (soft delete 포함)
UserRole::withTrashed()
->where('role_id', $recruiterRole->id)
->forceDelete();
$this->command->info('recruiter 역할 할당이 삭제되었습니다.');
// 역할 강제 삭제
$recruiterRole->forceDelete();
$this->command->info('recruiter 역할이 삭제되었습니다.');
}
$this->command->info('영업파트너 역할이 생성되었습니다: sales, manager');
}
}