table('activity_logs'); // 1. 마이그레이션 적용 여부 확인 if (Schema::hasColumn('activity_logs', 'description')) { $context->logger->warning( 'activity_logs 테이블에 description 컬럼이 아직 존재합니다. 마이그레이션을 먼저 실행하세요.' ); return; } if (! Schema::hasColumn('activity_logs', 'description_key')) { $context->logger->warning( 'activity_logs 테이블에 description_key 컬럼이 없습니다. 마이그레이션을 먼저 실행하세요.' ); return; } // 2. 기존 데이터 현황 보고 $totalCount = DB::table('activity_logs')->count(); $nullKeyCount = DB::table('activity_logs')->whereNull('description_key')->count(); $filledKeyCount = $totalCount - $nullKeyCount; $context->logger->info("활동 로그 현황: 총 {$totalCount}건 (description_key 설정됨: {$filledKeyCount}건, NULL: {$nullKeyCount}건)"); if ($nullKeyCount > 0) { $context->logger->info( "기존 {$nullKeyCount}건의 로그는 description_key가 NULL 상태로 유지됩니다. " . '새 로그부터 description_key 기반 다국어가 적용됩니다.' ); } // 3. loggable NULL 현황 보고 $nullLoggableCount = DB::table('activity_logs') ->whereNull('loggable_type') ->whereNull('loggable_id') ->count(); $context->logger->info("loggable NULL 현황: {$nullLoggableCount}건 (새 로그부터 모델 연결됩니다)"); } }