Could not convert database value

Problembeschreibung

Das Plugin kann nicht mehr bearbeitet werden und erzeugt beim öffnen einen Fehler:

Ups! Ein Fehler ist aufgetreten! Die nachfolgenden Hinweise sollten Ihnen weiterhelfen. Could not convert database value "s:50:"DOMAIN..." to Doctrine Type object in vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ConversionException.php on line 46 Stack trace: #0 vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ObjectType.php(59): Doctrine\DBAL\Types\ConversionException::conversionFailed('s:50:"https://l...', 'object') #1 vendor/doctrine/orm/lib/Doctrine/ORM/Internal/Hydration/AbstractHydrator.php(303): Doctrine\DBAL\Types\ObjectType->convertToPHPValue('s:50:"https://DOMAIN...', Object(Doctrine\DBAL\Platforms\MySqlPlatform)) #2 [...]

Ein solcher Fehler kann entstehen, wenn in die Konfigurationsfelder des Plugins ein Sonderzeichen oder ein Zeichen mit einer fremden Codierung eingetragen wurde, welches die Datenbank nicht verarbeiten kann.

In der Datenbanktabelle s_core_config_values werden die Werte der Plugin-Konfigurationen hinterlegt. Hier muss über die Datenbank das Feld z.B. durch Suchen des Inhalts ausfindig gemacht und korrigiert werden.

Das Problem

Einige Felder in der Datenbank sind mit einer Serialisierung gesichert. In diesem konkreten Beispiel passt die Zeichenzahl "50" nicht auf die tatsächliche Zeichenzahl im Wert des Feldes. (s:50:"INHALT DES FELDES").

​Lösungsvorschlag

  • Einspielen eines Backups vor der Eintragung der invaliden Zeichen in Shopware

oder

  • Sollte Möglichkeit 1 keine Option sein, muss hier manuell in die Datenbank eingegriffen werden.

  • Achtung: Eine Deinstallation bzw. Neuinstallation des Plugins löst das Problem nicht, da hier in der Datenbank ein invalider Eintrag existiert, der nicht verarbeitet werden kann. Navigiere dazu in die Tabelle s_core_config_values und suche das entsprechende Konfigurationsfeld, in welches Du die invaliden Zeichen eingetragen hast.

  • Dieses Feld kannst Du bearbeiten und den Wert auf die richtige Zeichenzahl korrigieren oder herauslöschen.

  • Danach sollte das Plugin wieder de- und installiert werden bzw. weiter genutzt werden können. Prinzipiell sollte darauf geachtet werden Shopware keine Icons oder fremdcodierte Inhalte einzufügen, bei welchen nicht sicher gestellt ist, dass die Datenbank damit umgehen kann.