<?php

// กำหนด path ให้เหมาะกับระบบของคุณ
$opensslCnf = '/etc/ssl/openssl.cnf';         // หรือ path ของ openssl.cnf ที่คุณใช้งานจริง
$crlPemPath = __DIR__ . '/crl.pem';
$crlDerPath = __DIR__ . '/public/data.crl';   // เก็บใน public/ เพื่อให้ดาวน์โหลดได้

// 1. สร้างไฟล์ CRL (PEM)
$cmd1 = "openssl ca -config " . escapeshellarg($opensslCnf) . " -gencrl -out " . escapeshellarg($crlPemPath);
exec($cmd1, $output1, $ret1);

if ($ret1 !== 0) {
    echo "❌ สร้าง crl.pem ไม่สำเร็จ:\n";
    echo implode("\n", $output1);
    exit(1);
}

echo "✅ สร้าง crl.pem สำเร็จ\n";

// 2. แปลง PEM → DER
$cmd2 = "openssl crl -in " . escapeshellarg($crlPemPath) . " -outform DER -out " . escapeshellarg($crlDerPath);
exec($cmd2, $output2, $ret2);

if ($ret2 !== 0) {
    echo "❌ แปลงเป็น DER ไม่สำเร็จ:\n";
    echo implode("\n", $output2);
    exit(1);
}

echo "✅ สร้าง data.crl (DER) สำเร็จ และเก็บไว้ที่ public/data.crl\n";

openssl pkcs12 -in keystore-full.p12 -nokeys -info -nodes -legacy

ถ้า มี 2 ชุด (1 user + 1 root) = ✔️ มี rootCA อยู่ใน .p12
ถ้ามีแค่ใบเดียว = ❌ ไม่มี rootCA แนบมาด้วย

php artisan make:migration add_column_name_to_table_name_table --table=table_name

เปลี่ยน add_column_name_to_table_name_table เป็นชื่อที่สื่อความหมายถึงการเปลี่ยนแปลง

เปลี่ยน table_name เป็นชื่อตารางที่คุณต้องการแก้ไข

ตัวอย่าง:

ถ้าคุณต้องการเพิ่มคอลัมน์ status ลงในตาราง users:
php artisan make:migration add_status_to_users_table --table=users

แก้ไขไฟล์ Migration

หลังจากรันคำสั่ง จะมีไฟล์ถูกสร้างใน database/migrations/ ให้แก้ไขเนื้อหา:

public function up()
{
    Schema::table('users', function (Blueprint $table) {
        $table->string('status')->default('active'); // เพิ่มคอลัมน์ใหม่
    });
}

รัน Migration

php artisan migrate