<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

/**
 * MENGAPA MIGRATION INI DIBUAT:
 * Modul Manajemen Admin membutuhkan kolom "Terakhir Login" yang TIDAK ADA
 * di tabel users versi awal. Kolom dibuat NULLABLE agar:
 * - Tidak memengaruhi data user yang sudah ada (akan bernilai null).
 * - Tidak mengubah AuthController/LoginRequest yang sudah berjalan —
 *   diisi via event listener Illuminate\Auth\Events\Login di AppServiceProvider,
 *   bukan dengan mengubah logic login yang sudah ada.
 */
return new class extends Migration
{
    public function up(): void
    {
        Schema::table('users', function (Blueprint $table) {
            $table->timestamp('last_login_at')->nullable()->after('is_active');
        });
    }

    public function down(): void
    {
        Schema::table('users', function (Blueprint $table) {
            $table->dropColumn('last_login_at');
        });
    }
};
