Wie wäre es mit dieser Idee zum Speichern einer 36-chr-UUID als Binary(16) :
IMO gibt es einen Vorteil darin, dass Laravel die UUID nicht generiert . Wenn nämlich (irgendwann in der Zukunft) neue Datensätze von außerhalb der Anwendung in die Datenbank eingefügt werden, wird das UUID-Feld ordnungsgemäß ausgefüllt.
Mein Vorschlag:Erstellen Sie einen UUID-Standardwert-Trigger mithilfe von Migrationen
(Dieser Trigger lässt den Datenbankserver die Arbeit erledigen, um die UUID jedes Mal zu generieren, wenn ein neuer Kunde eingefügt wird)
<?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`');
}
}
Wenn Sie schließlich eine für Menschen lesbare Version Ihrer UUID erhalten möchten, gehen Sie einfach wie folgt vor:
SELECT HEX(UUID) FROM customers;
Wie auch immer, hoffe das hilft jemandem :-)