Files
laravel_school_api_old/app/Jobs/Release/RunMigrationValidationJob.php
T
2026-05-29 04:33:03 -04:00

28 lines
921 B
PHP

<?php
namespace App\Jobs\Release;
use App\Support\Release\MigrationValidationRunner;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\File;
final class RunMigrationValidationJob implements ShouldQueue
{
use Dispatchable;
use InteractsWithQueue;
use Queueable;
use SerializesModels;
public function handle(MigrationValidationRunner $runner): void
{
$results = array_map(fn ($result): array => $result->toArray(), $runner->runAll());
$path = storage_path('app/generated/release-validation/job-'.now()->format('Ymd-His').'.json');
File::ensureDirectoryExists(dirname($path));
File::put($path, json_encode(['results' => $results], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES));
}
}