VersionID für Entities

Hallo,
in ganz vielen Entities der API bekommen wir bei den Attributen eine versionID geliefert; z.B. hier bei der Order

    "data": {
        "id": "a6cede22a4914c3fb8e9f85ec21cb89e",
        "type": "order",
        "attributes": {
            "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425",
            "autoIncrement": 33000,
            "orderNumber": "113538",
            "billingAddressId": "abad6a0319394fd39dfda730804b5ef5",

Leider kann ich keine Erklärung finden, was diese Version bedeutet und wofür sie benutzt wird.
In der Datenbank gibt es die natürlich auch.
Kann es mehrere Versionen (Datensätze) zu einer Order geben?
Danke!

Eine versionId ist dazu da, dass du sozusagen eine History aller Änderungen hast und auch Rollbacks erstellen kannst. Ja, durch die versionId kann es theoretisch unendlich viele Datensätze zu einem Entity geben.

Hallo Max_Shop,
das ging ja flott - danke für die Antwort und den Link.

Ich habe verstanden, dass ich in einem Plugin das nutzen kann, verschiedene Versionen anlege und bei Bedarf auf eine reduziere - klingt spannend …

Muss ich denn jetzt damit rechnen, das Shopware z.B. ein Update einer Order (Customer oder Produkt) über diese Funktion macht und ich dann zwei Versionen der Order (Customers oder Produktes) unter einer UUID habe?

Dann komme ich mit meiner WaWi aber ins Schwitzen, denn da habe ich keine Versionierung und der API-Client unterscheidet auch nicht.
Verschreckte Grüße

Ja, Shopware erstellt für jede Statusänderung in einer Bestellung eine neue versionId. Einfach nach der auto_increment oder created_at sortieren.

Die API liefert immer die aktuellste Version, wenn du nicht explizit nach einer version suchst.

2 Likes