Que tal esta ideia para armazenar um UUID de 36chr como Binary(16):
IMO existe uma vantagem em não ter o Laravel gerando o UUID . Ou seja, se novos registros (algum dia no futuro) forem inseridos no banco de dados de fora do aplicativo, o campo UUID será preenchido corretamente.
Minha sugestão:crie um acionador de valor padrão UUID usando migrações
(este trigger faz com que o servidor de banco de dados faça o trabalho de gerar o UUID cada vez que um novo cliente é inserido)
<?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`');
}
}
Por fim, se você deseja obter uma versão legível por humanos do seu UUID, faça o seguinte:
SELECT HEX(UUID) FROM customers;
Enfim, espero que isso ajude alguém :-)