Kompatibilitätsprobleme bei Shopware 6.4 und neueren MariaDB-Versionen
Wie Sie die Kompatibilitätsprobleme bei Shopware 6.4 und neueren MariaDB-Versionen lösen

Kompatibilitätsprobleme bei Shopware 6.4 und neueren MariaDB-Versionen

Wer aktuell Shopware 6.4 auf einem Server mit den neuesten MariaDB-Versionen >10.5 (10.5.22, 10.6.15, 10.9.8, 10.10.6, 10.11.5, 11.0.3) installieren möchte, wird mit einem Fehler konfrontiert. Auch bei der Aktualisierung älterer Shopware-Versionen kann es zum Fehler kommen.

Der Fehler ist bereits bekannt. Bei MariaDB wurde schon ein Issue angelegt und Shopware stellt einen Fix für das Problem bereit.

Wir zeigen Ihnen in diesem Blog-Post, wie Sie den Fehler beheben können.

Vorgehen bei einer Neuinstallation von Shopware 6.4

Installieren mit dem App-Installer

Unseren App-Installer haben wir bereits angepasst, sodass eine Installation von Shopware in einer Version 6.4 problemlos möglich ist. Eine Anleitung zum Installieren von Shopware 6 mit dem App-Installer stellen wir Ihnen bereit.

Der App-Installer ist integriert in ISPConfig und verfügbar auf allen Managed Servern t31, t51, t71 und t91, auf unseren Managed vServern der Linie v31, v51 und v71 sowie auf allen Managed ScaleServern.

Manuelle Installation

Um Shopware manuell auf Ihrem Webspace zu installieren, müssen Sie zunächst die gewünschte „install_*.zipherunterladen. Diese Datei entpacken Sie dann entweder lokal auf Ihrem Rechner oder direkt auf dem Server.

Suchen Sie im Ordner „vendor/shopware/core/Migration“ rekursiv nach einer Datei, die „ADD_CONSTRAINT`fk.product.main_variant_id`“ beinhaltet.

In dieser Datei finden Sie den folgenden Block:

  $connection->executeUpdate('
     ALTER TABLE `product`
     ADD `main_variant_id` BINARY(16) NULL
        AFTER `configurator_group_config`,
     ADD CONSTRAINT `fk.product.main_variant_id`
        FOREIGN KEY (`main_variant_id`)
        REFERENCES `product` (`id`)
        ON DELETE SET NULL
  ');

Ersetzen Sie diesen durch den folgenden Abschnitt:

  $connection->executeUpdate('
     ALTER TABLE `product`
     ADD `main_variant_id` BINARY(16) NULL
        AFTER `configurator_group_config`
  ');

Somit werden alle Zeilen entfernt, die zum „ADD CONSTRAINT“ gehören sowie das abschließende „,“ aus der Zeile direkt davor.

Nun können Sie die Dateien wie gewohnt auf den Server hochladen und den Installationsprozess ganz normal im Browser aufrufen. Sollten Sie die Zip-Datei direkt auf dem Server entpackt haben, kann der Upload natürlich übersprungen werden.

Vorgehen beim Update einer bestehenden Installation

Bei einem Update einer bereits vorhandenen Shopware 6.4-Installation ist das Vorgehen ähnlich wie bei einer Neuinstallation.

Laden Sie die gewünschte „update_*.zipherunter und entpacken Sie diese.

Suchen Sie im Ordner „vendor/shopware/core/Migration“ rekursiv nach einer Datei, die „ADD_CONSTRAINT`fk.product.main_variant_id`“ beinhaltet.

In dieser Datei finden Sie den folgenden Block:

  $connection->executeUpdate('
     ALTER TABLE `product`
     ADD `main_variant_id` BINARY(16) NULL
        AFTER `configurator_group_config`,
     ADD CONSTRAINT `fk.product.main_variant_id`
        FOREIGN KEY (`main_variant_id`)
        REFERENCES `product` (`id`)
        ON DELETE SET NULL
  ');

Ersetzen Sie diesen durch den folgenden Abschnitt:

  $connection->executeUpdate('
     ALTER TABLE `product`
     ADD `main_variant_id` BINARY(16) NULL
        AFTER `configurator_group_config`
  ');

Somit werden alle Zeilen entfernt, die zum „ADD CONSTRAINT“ gehören sowie das abschließende „,“ aus der Zeile direkt davor.

Abschließend muss noch über phpMyAdmin oder die SQL-Konsole die folgende Query auf der Shopware-Datenbank durchgeführt werden:

ALTER TABLE `product` DROP FOREIGN KEY `fk.product.main_variant_id`'

Nun kann das Update über den Webinstaller abgeschlossen werden.

Testen Sie uns 14 Tage kostenlos Jetzt testen