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

**URL:** <https://forum.shopware.com/t/uuid-doch-nicht-so-zufaellig-wie-selbst-generieren/104983>\
**Category:** Shopware 6 (German)\
**Created:** [27. August 2024 um 11:40 UTC](https://forum.shopware.com/t/uuid-doch-nicht-so-zufaellig-wie-selbst-generieren/104983 "2024-08-27T11:40:19Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)\
**Post date:** [27. August 2024 um 11:40 UTC](https://forum.shopware.com/t/uuid-doch-nicht-so-zufaellig-wie-selbst-generieren/104983/1 "2024-08-27T11:40:19Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)\
**Post date:** [27. August 2024 um 11:49 UTC](https://forum.shopware.com/t/uuid-doch-nicht-so-zufaellig-wie-selbst-generieren/104983/2 "2024-08-27T11:49:47Z")

</div>

Siehe [Switch to UUIDv7 | Shopware Documentation](https://developer.shopware.com/docs/resources/references/adr/2023-05-22-switch-to-uuidv7.html)

Viele Grüße

---

<div class="post-metadata">

**Author:** ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)\
**Post date:** [27. August 2024 um 12:25 UTC](https://forum.shopware.com/t/uuid-doch-nicht-so-zufaellig-wie-selbst-generieren/104983/3 "2024-08-27T12:25:17Z")

</div>

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 😉

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

---

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [27. August 2024 um 12:26 UTC](https://forum.shopware.com/t/uuid-doch-nicht-so-zufaellig-wie-selbst-generieren/104983/4 "2024-08-27T12:26:23Z")

</div>

> [@brettvormkopp](#):
>
> suche einen Weg UUIDs zu nutzen wie es Shopware macht

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

---

<div class="post-metadata">

**Author:** ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)\
**Post date:** [27. August 2024 um 12:43 UTC](https://forum.shopware.com/t/uuid-doch-nicht-so-zufaellig-wie-selbst-generieren/104983/5 "2024-08-27T12:43:44Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Anotherone](https://avatars.discourse-cdn.com/v4/letter/a/6de8d8/32.png) [@Anotherone](https://forum.shopware.com/u/Anotherone)\
**Post date:** [27. August 2024 um 12:59 UTC](https://forum.shopware.com/t/uuid-doch-nicht-so-zufaellig-wie-selbst-generieren/104983/6 "2024-08-27T12:59:34Z")

</div>

Ergänzung zu folgender Teilfrage

> [@brettvormkopp](#):
>
> 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.

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.
