Tod nach Update auf 5.5.7

Ich habe gestern das Update von 5.5.1 auf 5.5.7 versucht.
Dazu habe ich das Updatepaket entpackt, auf das Projekt kopiert und hochgeladen.
Der Updateprozess lief zügig durch. Das Backend lässt sich aufrufen, im Shop gibt es aber nur eine Fehlermeldung:

Fatal error
Uncaught Doctrine\ORM\Mapping\MappingException: The target-entity Shopware\Models\Attribute\Shop cannot be found in ‚Shopware\Models\Shop\Shop#attribute‘.
in /is/htdocs/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.php:762
Stack trace:
#0 /is/htdocs/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php(1028):
    Doctrine\ORM\Mapping\MappingException::invalidTargetEntityClass(‚Shopware\Models…‘, ‚Shopware\Models…‘, ‚attribute‘)
#1 /is/htdocs/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php(272):
    Doctrine\ORM\Mapping\ClassMetadataInfo->validateAssociations()
#2 /is/htdocs/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php(251):
    Doctrine\ORM\Mapping\ClassMetadataFactory->validateRuntimeMetadata(Object(Doctrine\ORM\Mapping\ClassMetadata),
in /is/htdocs/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.php on line 762

Was kann ich nun tun? 

Hast Du mal den Cache über das Backend komplett gelöscht? Das könnte helfen.

Dazu habe ich das Updatepaket entpackt, auf das Projekt kopiert und hochgeladen.

Nur so als Frage: Warum nutzt Du nicht die Update-Funktion aus dem Backend? Würde ich immer bevorzugen.  Halo

VG

Thorsten

Leider kann man mit dem Löschen des Cache nicht alle Probleme in Shopware fixen. Es gibt da eine eingebaute Fallgrube.
Wer im Normalbetrieb über die Servervariable SHOPWARE_ENV eine bestimmte config.php lädt, wird beim Update sein blaues Wunder erleben.

// shopware.php:
$environment = getenv(‚SHOPWARE_ENV‘) ?: getenv(‚REDIRECT_SHOPWARE_ENV‘) ?: ‚production‘;
// engine/Shopware/Configs/Default.php:
if (file_exists($this->DocPath() . ‚config_‘ . $this->Environment() . ‚.php‘)) {
    $customConfig = $this->loadConfig($this->DocPath() . ‚config_‘ . $this->Environment() . ‚.php‘);

Es wird nämlich nicht die config geladen, die der Shop im laufenden Betrieb benutzt, sondern einfach die „config.php“
Dadurch erfolgt das Update der Datenbank woanders.

habe ich das Updatepaket entpackt, auf das Projekt kopiert und hochgeladen

Vielleicht wurden hier nicht alle Dateien komplett übertragen. So ein Update kann man auch über das Backend machen. 

Hallo, ich habe auch diese Fehlermeldung und kriege den Fehler nicht elimiert.

Fatal error : Uncaught Doctrine\ORM\Mapping\MappingException: The target-entity Shopware\Models\Attribute\Emotion cannot be found in ‚Shopware\Models\Emotion\Emotion#attribute‘. in /kunden/387923_45141/webhost/K442778/T104275/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.php:762 Stack trace: #0 /kunden/387923_45141/webhost/K442778/T104275/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php(1028): Doctrine\ORM\Mapping\MappingException::invalidTargetEntityClass(‚Shopware\Models…‘, ‚Shopware\Models…‘, ‚attribute‘) #1 /kunden/387923_45141/webhost/K442778/T104275/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php(272): Doctrine\ORM\Mapping\ClassMetadataInfo->validateAssociations() #2 /kunden/387923_45141/webhost/K442778/T104275/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php(251): Doctrine\ORM\Mapping\ClassMetadataFactory->validateRuntimeMetadata(Object(Doctrine\ORM\Mapping\ClassMetadata), NULL) #3 /kunden/387923_45 in /kunden/387923_45141/webhost/K442778/T104275/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.php on line 762

Ich habe schon die Reperatur der Forerign Keys durchgeführt und der Cache ist auch geleert. Ich habe versucht das System von 5.5.10 auf 5.6.0 zu updaten, was nicht funktioniert, da ahbe ich das Backup jetzt eingespielt und habe nun das Problem. Ich habe auch bereits das Updatepaket 5.5.10 noch mal eingespielt, und dennoch habe ich den Fehler. Den Eintrag von „Strelitzer“ verstehe ich leider nicht. Was kann man machen um das Frontend wieder zum laufen zu bringen.

Hallo @shop13,

der Fehler wird durch die Emotion-Attribute verursacht.
Hast du auch mal versucht nach dem Update die Shopware Attribut Modelle zu generieren?

Über die Shopware CLI kannst du die Attribut Modelle generieren. Den Befehl findest du in der Shopware Dokumentation Shopware 5 - Tutorials & FAQs - Nutzung der CLI Befehle in Shopware .

Bitte anschließend auch alle Shopware Caches leeren und ggf. den Shopware Cache Order „production_XXXX“ entfernen.

lg
Abdullah

Guten Morgen @abdullah ,

danke für den Tip. Ich habe den Befehl php bin/console sw:generate:attributes eingegeben und bekomme das als output:

PHP Warning: „continue“ targeting switch is equivalent to „break“. Did you mean to use „continue 2“? in /kunden/387923_45141/webhost/K442778/T104275/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php on line 2636
PHP Warning: „continue“ targeting switch is equivalent to „break“. Did you mean to use „continue 2“? in /kunden/387923_45141/webhost/K442778/T104275/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php on line 2665
PHP Fatal error: Interface ‚Doctrine\Persistence\ObjectRepository‘ not found in /kunden/387923_45141/webhost/K442778/T104275/shopware/engine/Shopware/Models/Mail/LogRepositoryInterface.php on line 32

Hallo @shop13,

das sieht mir nach einer Doctrine-Inkompatibilität mit PHP aus, siehe auch Shopware Issuetracker

Welche Shopware und PHP Version verwendest du gerade? Sind beide Versionen miteinander kompatibel?

Grüße
Abdullah

Hallo,

das sieht nach einer falschen PHP Version aus - probier’ mal PHP 7.2

Viele Grüße

Guten Morgen, erst mal danke für die Antworten. Ich hatte die PHP Version 7.2, habe jetzt aber auf 7.3 umgestellt. Leider ist die letzte Seite des Updates leer geblieben (weiße Seite).
Wenn ich allerdings jetzt noch mal versuche die Atrribute zu generieren mit dem Befehl

bin/console sw:generate:attributes

Bekomme ich folgende Antwort:

In MappingException.php line 772:

The target-entity Shopware\Models\Attribute\Emotion cannot be found in ‚Sho
pware\Models\Emotion\Emotion#attribute‘.

sw:generate:attributes

Ich habe vorher im Backend den Cache geleert, bei allen Punkten, und auch per Console ```
sw:cache:clear
Dabei habe ich auch folgende Beitrag gefunden:
LINK, aber der Fehler ist immer noch da. Hat noch jemand Rat?

LG

Hallo,

versuch nochmal nach Umstellung der PHP Version Deine Shop URL am Ende mit /recovery/update aufzurufen, ob das Update dann durchläuft.

Viele Grüße

Guten Morgen, also ich abe jetzt noch mal versucht von 5.5.10 auf 5.6.2 zu updaten.
PHP Version ist bei 7.3.
Auf der letzten Seite zeigt er jetzt folgendes:

Slim Application Error

The application could not run because of the following error:

Details

Type: Doctrine\ORM\Mapping\MappingException

Message: The target-entity Shopware\Models\Attribute\Emotion cannot be found in ‚Shopware\Models\Emotion\Emotion#attribute‘.

File: /kunden/387923_45141/webhost/K442778/T104275/shopware/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.php

Line: 772

Den Cache habe ich per Console geleert
ohne Erfolg
Cache im Backend geleert, dabei alles angewählt
ohne erfolg
shopware/var/cache/production_201909250854 gelöscht
ohne erfolg
die foreign key reperatur für 5.6.2 durchgeführt
ohne erfolg
danach per console noch mal sw:generate:attributes abgesetzt:
In MappingException.php line 772:

The target-entity Shopware\Models\Attribute\Emotion cannot be found in ‚Sho
pware\Models\Emotion\Emotion#attribute‘.

Wenn ich die URL lade, dann kommt da die Fehlermeldung:
Fatal error : Uncaught Doctrine\ORM\Mapping\MappingException: The target-entity Shopware\Models\Attribute\Emotion cannot be found in ‚Shopware\Models\Emotion\Emotion#attribute‘…

Hallo @shop13,

könntest du in der Datenbank einmal überprüfen, ob die Tabelle s_emotion_attributes vorhanden ist?

vg

Guten Morgen, ja die s_emotion_attributes ist vorhanden. Sie hat allerdings keinen Datensatz. Habe die heute mal gelöscht und neu erstellt, ohne Auswirkung.

Hallo @shop13,

Normalerweise sollte zu jeder s_emotion ein entsprechender Eintrag in s_emotion_attributes sein.
Ob dies jedoch zu dem auftretenden Fehler führt, kann ich nicht sagen.

Wenn die Tabelle vorhanden ist, wüsste ich jetzt von der Ferne auch nicht mehr weiter, warum der Fehler auftreten sollte.

vg

Guten Abend, die Lösung war, es gab im Ordner /engine/shopware/emotion eine Datei Ladingpage. Die habe ich entfernt, danach lief alles. Vielen Dank für die Unterstützung.

Tatsächlich gab es bei einem Kunden von mir ein ähnliches Problem. Da die Lösung nicht ganz 100% korrekt ist, hier nochmal genauer:

in engine/Shopware/Models/Emotion/ die Datei Landingpage.php löschen (vorher sichern) hat den Fehler beseitigt.