Minor Update installieren

Führen Sie bei Bedarf ein Minor-Update Ihres OXID eShops durch.

Aktualisieren Sie die Compilation beispielsweise von einer bestehenden Version 6.2.x auf Version 6.4.x.

Attention

Datenverlust

Um mögliche Datenverluste zu vermeiden, tun Sie Folgendes:

  • Führen Sie das Update sollte immer erst in einer Testumgebung, einer Kopie Ihres aktuellen Shops, aus.

  • Gehen Sie beim Update grundsätzlich wie folgt vor:

    1. Erstellen Sie vor dem Update eine Sicherung der Shop-Dateien und der Datenbank.

    2. Testen Sie nach dem Update den Shop erneut.
      Prüfen Sie insbesondere die Funktionen des Bestellprozesses und die Zahlungs- und Versandarten.

Voraussetzungen sicherstellen

Bevor Sie ein Minor Update auf die gewünschte Zielversion von OXID eShop ausführen können, stellen Sie sicher, dass Sie die technischen Voraussetzungen für das Update erfüllen.

Dazu prüfen Sie:

  • Muss ich ein oder mehrere inkrementelle Updates machen?
    Inkrementelles Update bedeutet: Sie machen ein Update nicht direkt auf die Zielversion, sondern in einem vorhergehenden Schritt ein Update auf eine Version zwischen Ihrer Ausgangs-Version und Ihrer Ziel-Version.
    Erst in einem folgenden Update machen Sie das Update von der Zwischenversion zur Zielversion.

  • Habe ich beim Update oder beim inkrementellen Update eine Version von Composer, die sowohl meine jeweilige Ausgangs- als auch die Zielversion unterstützt?

  • Habe ich beim Update oder beim inkrementellen Update eine Version von PHP, die sowohl meine jeweilige Ausgangs- als auch die Zielversion unterstützt?

Vorgehen

Prüfen Sie Schritt für Schritt, welches inkrementelle Update Sie machen müssen, um schließlich zur Zielversion von OXID eShop zu kommen.

Stellen Sie dabei vor jedem Update-Schritt sicher, dass Sie Versionen von Composer und PHP haben, die sowohl von der jeweiligen Ausgangs- als auch von der jeweiligen Zielversion unterstützt werden.

  1. Wenn Sie OXID eShop Version 5.x oder kleiner haben, folgen Sie den Anweisungen unter docs.oxid-esales.com/developer/en/6.0/update/eshop_from_53_to_6/index.html.
    Alternativ: Installieren Sie die aktuelle Version von OXID eShop und portieren Sie nur die wichtigen Daten.

    Note

    Module portieren

    Ihre Module funktionieren nicht mehr unter OXID eShop Version 6.

    Wie Sie Ihre Module in OXID eShop Version 6 portieren können, erfahren Sie unter https://docs.oxid-esales.com/developer/en/6.0/modules/tutorials/porting_tool.html.

    Note

    Azure-Theme obsolet

    Das Azure-Theme wird in OXID eShop Version 6 noch unterstützt, aber nicht mehr gepflegt.

  2. Wenn Sie OXID eShop Version 6.0.x haben, tun Sie Folgendes:

    1. Stellen Sie sicher, dass Sie Composer Version 1 haben.

    2. Stellen Sie sicher, dass Sie PHP Version 7.0 haben.

    3. Machen Sie ein erstes Update von Version 6.0.x auf Version 6.1.x.
      Weitere Informationen finden Sie unter https://docs.oxid-esales.com/eshop/de/6.1/installation/update-installation/update-installation.html

  3. Wenn Sie OXID eShop Version 6.1.x haben, tun Sie Folgendes:

    1. Stellen Sie sicher, dass Sie Composer Version 1 haben.

    2. Stellen Sie sicher, dass Sie PHP Version 7.1 haben.

    3. Machen Sie ein Update von Version 6.1.x auf Version 6.2.4.
      Weitere Informationen finden Sie unter https://docs.oxid-esales.com/eshop/de/6.2/installation/update/von-6.1.x-auf-6.2.0-aktualisieren.html

  4. Wenn Sie OXID eShop Version 6.2.0, 6.2.1 oder 6.2.2 haben, tun Sie Folgendes:

    1. Machen Sie ein Patch-Update auf OXID eShop Version 6.2.4.

    2. Optional: Machen Sie ein Update auf von PHP Version 7.1 auf Version 7.4.
      Alternativ: Machen Sie das Update auf PHP Version 7.4 bei den folgenden OXID eShop-Updates.

    3. Machen Sie ein Update von Composer Version 1 auf Composer Version 2.

  5. Wenn Sie OXID eShop Version 6.2.3 oder 6.2.4 haben, tun Sie Folgendes:

    1. Stellen Sie sicher, dass Sie Composer Version 2.2.23 haben.

      Attention

      Composer Version 2.3.x wird nicht unterstützt.

      Wenn Sie Composer Version 2.3.x haben, installieren Sie beispielsweise Composer Version 2.2.23 wie folgt:

      composer selfupdate 2.2.23
      
    2. Stellen Sie sicher, dass Sie PHP Version 7.4 haben.

    3. Machen Sie ohne weitere Zwischenschritte das Update auf die gewünschte Zielversion.

  6. Wenn Sie OXID eShop Version 6.2.5 oder höher haben, machen Sie das Update auf die aktuelle Version direkt, wie im Folgenden beschrieben unter Update ausführen

Update ausführen

Aktualisieren Sie Ihren OXID eShop auf die aktuelle Version.

Voraussetzungen

Sie haben die nötigen inkrementellen Updates ausgeführt (siehe Voraussetzungen sicherstellen).

Vorgehen

  1. Aktualisieren Sie in der Datei composer.json die Version des Metapackage.
    Passen Sie dazu wie im folgenden Beispiel den Namen des Metapackage der gewünschten Shop-Edition an.
    Beispiel für ein Update einer Community Edition mit dem Metapackage-Namen 6.4.4:

    composer require --no-update oxid-esales/oxideshop-metapackage-ce:v6.4.4
    
  2. Aktualisieren Sie die Abhängigkeiten.
    Öffnen Sie eine Shell im Hauptverzeichnis des Shops und führen Sie den nachstehenden Composer-Befehl aus.
    Dadurch werden alle benötigten Bibliotheken aktualisiert.
    Den Parameter --no-dev geben Sie an, wenn Sie die entwicklungsbezogenen Dateien nicht brauchen.

    composer update --no-plugins --no-scripts --no-dev
    
  3. Um die neue Compilation zu beziehen und das Update auszuführen, führen Sie die Skripte aus.
    Führen Sie dazu den folgenden Befehl aus.

    Note

    Durch das Update werden mögliche Änderungen überschrieben, die Sie im Verzeichnis source an Modulen oder Themes vorgenommen haben.

    Hintergrund: Bei einem Shop-Update lädt Composer die neuen Daten zunächst ins Verzeichnis vendor. Anschließend werden die Daten ins Verzeichnis source kopiert. Damit werden die Dateien des Shops, der Module und der Themes ersetzt.

    Ihre individuellen Anpassungen des OXID Shops oder Änderungen an Modulen von Fremdherstellern sind nur dann vorm Überschreiben durch das Update sicher, wenn Sie die Änderungen durch eine der Erweiterungsmöglichkeiten des OXID eShops (Component, Modul, Child-Theme) vorgenommen haben.

    Weitere Informationen finden Sie in der Entwickler-Dokumentation unter

    Attention

    Abfragen bestätigen

    Während des Updates werden Sie gefragt, welche Pakete überschrieben werden dürfen.

    Damit nur kompatible und getestete Pakete installiert werden und es nicht zu Inkonsistenzen und Fehlfunktionen durch fehlerhaft implementierte Module oder Themes kommen kann, müssen Sie die Abfragen mit Ja bestätigen.

    Empfehlungen:

    • Wenn Sie die Erweiterungsmöglichkeiten des OXID eShops nutzen, folgen Sie den Anweisungen in der Entwickler-Dokumentation.

    • Holen Sie zum Erstellen von Modulen oder Child-Themes die Unterstützung einer OXID-Partner-Agentur ein. Dies erleichtert Ihnen alle künftigen Updates.
      Eine Liste der von OXID zertifizierten Partneragenturen finden Sie unter oxid-esales.com/partner/partner-finden/.

    • Wenn Sie Module oder Themes von Drittanbietern verwenden, fragen Sie den Drittanbieter, ob diese Themes und Module mit der neuen Version des OXID eShops kompatibel sind.
      Hintergrund: Normalerweise enthält ein Minor Update keine breaking changes. Alle Module von Drittanbietern funktionieren nach dem Update wie zuvor.
      In Ausnahmefällen (beispielsweise beim Update von OXID eShop 6.1 auf 6.2) können sich Änderungen jedoch so auswirken, dass Module von Drittanbietern nicht mehr funktionieren.

    composer update --no-dev
    
  4. Um sicherzustellen, dass die zwischengespeicherten Elemente keine Inkompatibilitäten enthalten, leeren Sie das Verzeichnis tmp.
    Führen Sie dazu den folgenden Befehl aus.

    rm -rf source/tmp/*
    
  5. Migrieren Sie die Datenbank.
    Führen Sie dazu den folgenden Befehl aus.

    vendor/bin/oe-eshop-db_migrate migrations:migrate
    
  6. Generieren Sie die Datenbank-Views neu.
    Hintergrund: Je nach Änderungen und Shop-Edition kann es sein, dass der Shop nach dem Update in den Wartungsmodus geht.
    Um dem vorzubeugen, generieren Sie die Datenbank-Views mit folgendem Befehl neu:

    vendor/bin/oe-eshop-db_views_generate