Nach Update Fehler "No mapping found for field 'customer...

Hallole! Habe soeben das Update zu 4.3 auf unserem Server versucht. Mich genau an die Anleitung gehalten bis auf eine Kleinigkeit :slight_smile: Nach dem der Updateprozess durchgelaufen ist, habe ich ausversehen zuerst das Frontend aufgerufen, anstatt das Backend um den Cache zu löschen. Aber das kann ja net so schlimm sein oder? Da zeigt es mir im Frontend folgendes Problem an: No mapping found for field 'customerGroup' on class 'Shopware\Models\Attribute\CustomerGroup'. in vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.php on line 153 Stack trace: #0 vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php(1120): Doctrine\ORM\Mapping\MappingException::mappingNotFound('Shopware\Models...', 'customerGroup') #1 Doctrine/ORM/Persisters/BasicEntityPersister.php(1297): Doctrine\ORM\Mapping\ClassMetadataInfo-\>getAssociationMapping('customerGroup') #2 Doctrine/ORM/Persisters/BasicEntityPersister.php(1147): Doctrine\ORM\Persisters\BasicEntityPersister-\>getSelectColumnsSQL() #3 Doctrine/ORM/Persisters/BasicEntityPersister.php(766): Doctrine\ORM\Persisters\BasicEntityPersister-\>getSelectSQL(Array, NULL, 0, NULL, NULL, NULL) #4 vendor/doctrine/orm/lib/Doctrine/ORM/Proxy/ProxyFactory.php(172): Doctrine\ORM\Persisters\BasicEntityPersister-\>load(Array, Object(Shopware\Proxies\_\_CG\_\_\Shopware\Models\Customer\Group)) #5 cache/doctrine/proxies/201407011222/\_\_CG\_\_ShopwareModelsCustomerGroup.php(208): Doctrine\ORM\Proxy\{closure}(Object(Shopware\Proxies\_\_CG\_\_\Shopware\Models\Customer\Group), 'getKey', Array) #6 cache/doctrine/proxies/201407011222/\_\_CG\_\_ShopwareModelsCustomerGroup.php(208): Closure-\>\_\_invoke(Object(Shopware\Proxies\_\_CG\_\_\Shopware\Models\Customer\Group), 'getKey', Array) #7 Shopware/Plugins/Default/Core/System/Bootstrap.php(97): Shopware\Proxies\_\_CG\_\_\Shopware\Models\Customer\Group-\>getKey() #8 Enlight/Event/Handler/Plugin.php(149): Shopware\_Plugins\_Core\_System\_Bootstrap::onInitResourceSystem(Object(Enlight\_Event\_EventArgs)) #9 Enlight/Event/EventManager.php(252): Enlight\_Event\_Handler\_Plugin-\>execute(Object(Enlight\_Event\_EventArgs)) #10 Shopware/Components/DependencyInjection/Container.php(247): Enlight\_Event\_EventManager-\>notifyUntil('Enlight\_Bootstr...', Array) #11 Shopware/Components/DependencyInjection/Container.php(188): Shopware\Components\DependencyInjection\Container-\>load('system') #12 Shopware/Bootstrap.php(149): Shopware\Components\DependencyInjection\Container-\>get('System') #13 Shopware/Application.php(116): Shopware\_Bootstrap-\>getResource('System') #14 Shopware/Plugins/Default/Core/System/Bootstrap.php(157): Shopware-\>System() #15 Enlight/Event/Handler/Plugin.php(149): Shopware\_Plugins\_Core\_System\_Bootstrap::onInitResourceModules(Object(Enlight\_Event\_EventArgs)) #16 Enlight/Event/EventManager.php(252): Enlight\_Event\_Handler\_Plugin-\>execute(Object(Enlight\_Event\_EventArgs)) #17 Shopware/Components/DependencyInjection/Container.php(247): Enlight\_Event\_EventManager-\>notifyUntil('Enlight\_Bootstr...', Array) #18 Shopware/Components/DependencyInjection/Container.php(188): Shopware\Components\DependencyInjection\Container-\>load('modules') #19 Shopware/Bootstrap.php(149): Shopware\Components\DependencyInjection\Container-\>get('Modules') #20 Shopware/Application.php(156): Shopware\_Bootstrap-\>getResource('Modules') #21 Shopware/Controllers/Frontend/Index.php(44): Shopware-\>Modules() #22 Enlight/Controller/Action.php(159): Shopware\_Controllers\_Frontend\_Index-\>indexAction() #23 Enlight/Controller/Dispatcher/Default.php(528): Enlight\_Controller\_Action-\>dispatch('indexAction') #24 Enlight/Controller/Front.php(228): Enlight\_Controller\_Dispatcher\_Default-\>dispatch(Object(Enlight\_Controller\_Request\_RequestHttp), Object(Enlight\_Controller\_Response\_ResponseHttp)) #25 Shopware/Kernel.php(141): Enlight\_Controller\_Front-\>dispatch() #26 vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(472): Shopware\Kernel-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #27 Shopware/Components/HttpCache/AppCache.php(256): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #28 vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(429): Shopware\Components\HttpCache\AppCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true) #29 vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(329): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>fetch(Object(Symfony\Component\HttpFoundation\Request), true) #30 Shopware/Components/HttpCache/AppCache.php(178): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>lookup(Object(Symfony\Component\HttpFoundation\Request), true) #31 vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(193): Shopware\Components\HttpCache\AppCache-\>lookup(Object(Symfony\Component\HttpFoundation\Request), true) #32 Shopware/Components/HttpCache/AppCache.php(113): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #33 shopware.php(109): Shopware\Components\HttpCache\AppCache-\>handle(Object(Symfony\Component\HttpFoundation\Request)) #34 {main} Nach diesem Fauxpass bin ich dann brav ins Backend, habe die Caches gelöscht, danach per Konsole auch die cache Order gelöscht nach dem Muster hier: [quote]m -rf $DIR/html/* rm -rf $DIR/general/* rm -rf $DIR/templates/* rm -rf $DIR/proxies/* rm -rf $DIR/doctrine/filecache/* rm -rf $DIR/doctrine/proxies/* rm -rf $DIR/mpdf/tmp/* rm -rf $DIR/mpdf/ttfontdata/*[/quote] Nochmal ins Backend und nochmal Cache geleert. Leider bleibt das Problem im Frontend immer noch bestehen. In der Datenbank habe ich geschaut, die s_schema_version ist korrekt bis auf die 310 erstellt wie sie im Updatepaket zu sehen waren. Das Update hatte ich per Konsole uebertragen und entpackt, aber den Prozess im Browser gestartet. Es lieft auch fehlerfrei durch. In der FAQ zum Update hatte ich eine ähnliche Fehlermeldung gefunden, aber im Backend kriege ich dazu kein Fehler und dort ist auch alles gruen. Bin bisschen unsicher, Update einfach neu versuchen? Oder weiss wer was konkretes dazu

Hochschubs! Habe das Update nochmal neu gestartet, diesmal sicher mit dem richtigen Ablauf. Der Fehler bleibt leider immer noch gleich… ?

Im Forum dazu das hier gefunden: Fehler beim aufruf der Bestellungen von 08 auf 41 Die PHP version ist bei uns auf dem Server 5.3.28 also kann das Problem nicht daran liegen. Die PHP Version auf der Konsole ist 5.2.17, womit ich nicht direkt das update per konsole durchfuehren kann, das gibt direkt einen syntax error. Ich weiss den Pfad zur anderen PHP Version dank unserem lieben hoster, aber weiss nimmer wie ich das PHP mit der anderen version ausfuehren kann. Aber eigentlich sollte doch, wenn ich das Update im Browser ausfuehre, das mit der korrekten Version laufen. Jedenfalls bekomme ich keine Fehler. Das debug kann man in der neuesten Version zum Update wohl nicht mehr einschalten? Habe im ganzen Quellcode aus dem Update Ordner keinen “globalen” update eintrag gefunden. wer hat noch ideen? Der nächste Schritt ist meinerseits, die testumgebung nochmal neu aufzusetzen und das update zum xten mal zu probieren … *seufz*

Hi, das klingt nach Problemen mit der Datenbank. Genauer gesagt fehlenden oder defekten Foreign Keys. Die sollten einmal repariert werden: http://wiki.shopware.de/Foreign-Keys-re … l_954.html Sebastian

1 „Gefällt mir“

Vielen Dank! Das wars gewesen. Habe mich genau an die Anleitung zur Reparatur gehalten, und nun funktioniert das prima! Ist es wahrscheinlich, das in der Live version auch diese Foreign Keys schon kaputt sind, und das beim Update das auch aufschlagen wird (schätze schon, da es ja ne 1-1 kopie auf dem gleichen Server ist) Sollte man hier die Reparatur der Keys vor dem Update vorsichtshalber ausfuehren?

Hi, das würde ich dann wirklich einmal zur Sicherheit ausführen. Das Problem ist nämlich, dass die Attributs ja normalerweise nur neu erzeugt werden, wenn man Updates macht - manuell den Cache leert oder ein Plugin installiert, was die Models anpasst. Spätestens dann würde es im Shop knallen… Wenn das SQL-Script so durchläuft bist du auf der sicheren Seite Sebastian

Nochmal das Feedback, habe soeben das Live Update auf die 4.3.0 durchgefuehrt, diesmal vorher die Keys repariert, lief alles einwandfrei durch! *freu*

Hallo zusammen, 

ich hatte den gleichen Fehler bei Shopware 5. Jedoch bei den Varianten. Sollte jemand den gleichen Fehler haben, ist hier die Lösung: 
 

  1. Fehlerhafte Klasse ermitteln. z.B.: “Shopware\Models\Attribute\ConfiguratorOption”

  2. Datenbank Tabelle zur Klasse ermitteln: z:B: s_article_configurator_options_attributes_new

  3. Folgendes Script an die DB anpassen (Klassennamen und Spalten): 
     

    – add foreign key for s_article_configurator_options prefix
    DROP TABLE IF EXISTS s_article_configurator_options_attributes_new;
    DROP TABLE IF EXISTS s_article_configurator_options_attributes_backup;

    – Copy structure and data to new table, this does not copy the foreign keys, that’s exactly what we want
    CREATE TABLE s_article_configurator_options_attributes_new LIKE s_article_configurator_options_attributes;
    INSERT INTO s_article_configurator_options_attributes_new SELECT * FROM s_article_configurator_options_attributes;

    RENAME TABLE s_article_configurator_options_attributes TO s_article_configurator_options_attributes_backup, s_article_configurator_options_attributes_new TO s_article_configurator_options_attributes;

    – Add missing foreign key
    ALTER TABLE s_article_configurator_options_attributes ADD FOREIGN KEY ( optionID ) REFERENCES s_article_configurator_options (
    id
    ) ON DELETE CASCADE ON UPDATE NO ACTION ;

    DROP TABLE s_article_configurator_options_attributes_backup;

  4. Script auf der DB ausführen

  5. Cache über SSH leeren var/cache/clear_cache.sh

  6. Cache über das Shopware Backend löschen

  7. Fertig