UUID doch nicht so zufällig? Wie selbst generieren?

Mit der Migration fangen alle UUIDs an mit: 019155…
In einer anderen Installation gibt es vordefinierte mit: 0191668…
Wie wurden die erstellt?
Ich würde gern wissen, wie man bei der Migration von 5 auf 6 die gleichen UUIDs matcht falls man die Migration mehrfach ausführt.
Welches Muster haben die Shopware UUIDs um sie selbst nachzustellen?

Die Lösung alles mit md5() zu hashen ist nicht richtig sicher und ich suche einen Weg UUIDs zu nutzen wie es Shopware macht.

Siehe Switch to UUIDv7 | Shopware Documentation

Viele Grüße

das ist leider nicht die Antwort die ich gesucht habe, Aber ich habe was anderes rausgefunden:

Die ersten 8 Zeichen sind die Zeit welche in Millisekunden (ge"hex"t) Vergangen ist seit „2019-01-01 00:00:00“.
Also die Differenz zwischen dem Datenbankeintrag „created_at“ und dem „2019-01-01 00:00:00“. Nettes UUIDv7-Easteregg von @Shopware, Milliseconds since Epoch = SW6 Zeitalter :wink:

Jetzt müsste ich noch wissen ob die folgenden Werte tatsächlich random sind?

In eigenen Migrations-Tools habe ich „Shopware\Core\Framework\Uuid\Uuid“ benutzt. Im Script dann „Uuid::randomHex()“ benutzt. Keine Ahnung ob dir das weiterhilft.

Hm? Das ist sogar genau das was du gesucht hat. Dort steht:

UUIDv7 time-based prefix […]

und weitere Infos zu UUID 7, wenn es ins Detail gehen soll, findet man dann via Google.

Die technische Implementierung seitens Shopware findest du in

Shopware\Core\Framework\Uuid\Uuid

Viele Grüße

Ergänzung zu folgender Teilfrage

Die Daten werden in der Tabelle swag_migration_mapping gespeichert (alte ID, neue ID, Entity, Hash der Daten), damit bei mehrfacher Migration die bereits vorhandenen Daten erkannt werden und nur bei Änderungen an der Quelle erneut migriert werden.

1 „Gefällt mir“