Какво ще кажете за тази идея за съхраняване на 36chr UUID като двоичен(16) :
IMO има предимство в това, че Laravel не генерира UUID . А именно, ако нови записи (някой ден в бъдеще) бъдат вмъкнати в базата данни извън приложението, полето UUID е правилно попълнено.
Моето предложение:Създайте тригер за стойност по подразбиране на UUID чрез миграции
(този тригер кара сървъра на базата данни да върши работата по генериране на UUID всеки път, когато се вмъкне нов клиент)
<?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`');
}
}
И накрая, ако искате да получите разчитана от човека версия на вашия UUID, просто направете следното:
SELECT HEX(UUID) FROM customers;
Както и да е, надявам се това да помогне на някого :-)