Que diriez-vous de cette idée pour stocker un UUID 36chr en tant que binaire (16) :
IMO, il y a un avantage à ne pas avoir Laravel générant l'UUID . À savoir, si de nouveaux enregistrements (un jour dans le futur) sont insérés dans la base de données depuis l'extérieur de l'application, le champ UUID est correctement rempli.
Ma suggestion :créez un déclencheur de valeur par défaut UUID à l'aide de migrations
(ce déclencheur oblige le serveur DataBase à générer l'UUID chaque fois qu'un nouveau client est inséré)
<?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`');
}
}
Enfin, si vous souhaitez obtenir une version lisible par l'utilisateur de votre UUID, procédez comme suit :
SELECT HEX(UUID) FROM customers;
Quoi qu'il en soit, j'espère que cela aidera quelqu'un :-)