Bagaimana dengan ide untuk menyimpan UUID 36chr sebagai Binary(16) :
IMO ada keuntungan jika Laravel tidak membuat UUID . Yaitu, jika catatan baru (suatu hari nanti) dimasukkan ke dalam database dari luar aplikasi, bidang UUID diisi dengan benar.
Saran saya:Buat pemicu nilai default UUID menggunakan migrasi
(pemicu ini membuat server DataBase melakukan pekerjaan untuk menghasilkan UUID setiap kali pelanggan baru dimasukkan)
<?php namespace MegaBank\HighInterestLoans\Updates;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class MigrationTriggerForCustomers extends Migration
{
public function up()
{
DB::unprepared('CREATE TRIGGER before_insert_customers
BEFORE INSERT ON
`megabank_highinterestloans_customers`
FOR EACH ROW
SET new.uuid = UNHEX(REPLACE(UUID(), "-","");');
}
public function down()
{
DB::unprepared('DROP TRIGGER `before_insert_customers`');
}
}
Terakhir, jika Anda ingin mendapatkan versi UUID yang dapat dibaca manusia, lakukan saja hal berikut:
SELECT HEX(UUID) FROM customers;
Bagaimanapun, semoga ini bisa membantu seseorang :-)