make(Illuminate\Contracts\Console\Kernel::class); $kernel->bootstrap(); use Illuminate\Support\Facades\DB; $dryRun = ! in_array('--apply', $argv ?? []); echo "\n=== Fix Patient updated_at in sync_log ===\n"; echo $dryRun ? "Mode: DRY RUN — برای اعمال واقعی با --apply اجرا کن\n\n" : "Mode: APPLY — در حال نوشتن در sync_log...\n\n"; $patients = DB::table('patients')->get(['id', 'first_name', 'last_name', 'updated_at']); $now = now()->format('Y-m-d H:i:s'); $count = 0; foreach ($patients as $patient) { if (empty($patient->updated_at)) { echo " [SKIP] patient#{$patient->id} ({$patient->first_name} {$patient->last_name}) — updated_at خالیه\n"; continue; } echo " [" . ($dryRun ? 'DRY' : 'OK ') . "] patient#{$patient->id}" . " ({$patient->first_name} {$patient->last_name})" . " → updated_at: {$patient->updated_at}\n"; if (! $dryRun) { DB::table('sync_log')->insert([ 'datetime' => $now, 'ip' => '127.0.0.1', 'user' => 'fix_script', 'table_name' => 'patients', 'action' => 'updated', 'record_id' => $patient->id, 'changed_data' => json_encode(['updated_at' => $patient->updated_at], JSON_UNESCAPED_UNICODE), ]); } $count++; } echo "\n─────────────────────────────────\n"; echo "تعداد بیماران: {$count}\n"; if ($dryRun) { echo "\nبرای اعمال واقعی اجرا کن:\n php scripts/fix_patient_updated_at.php --apply\n"; } else { echo "\n✓ {$count} entry در sync_log ایجاد شد.\n"; echo "حالا از صفحه همگام‌سازی، sync رو اجرا کن تا لپ‌تاپ دکتر به‌روز بشه.\n"; } echo "\nDone!\n";