[GELÖST] Nach Update auf 5.5.7 im Frontend Column not found: 1054 Unknown column 'category.shops'

Hallo,

wie beschrieben haben wir nach einem Update von 5.5.6 auf 5.5.7 den Fehler im Frontend:

Column not found: 1054 Unknown column ‘category.shops’ in ‘where clause’

Das Backend funktioniert soweit, bis auf Artikel-Einzel-Ansicht (da bleiben die Felder leer) und Kategorien können natürlich nicht aufgerufen werden.

Es handelt sich um eine staging-Version (8Mylez Plugin) und wir sind vor einigen Tagen auf einen moderneren Managed Server umgezogen, um mit der Datenbankversion MariaDB 10.3 parallel einen Shopware 6 aufsetzen zu können.

Kann ich den nicht gefunden Eintrag selbst reparieren? Falls ja, wie? Ich hatte überlegt, die produktive Datenbank in eine leere staging-Datenbank einzuspielen. Vorher wollte ich euch aber um Rat fragen.

Alle Nicht-SW-Plugins bis auf das staging-Plugin sind bereits deaktiviert und caches per bin/console gelöscht.

Vielen Dank für eure Hilfe!

Gruß Peter

Zur Ergänzung hier noch die ganze Fehlermeldung im Frontend:

Fatal error: Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‚category.shops‘ in ‚where clause‘ in …/shop/staging/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:847 Stack trace: #0 …/shop/staging/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(847): PDOStatement->execute() #1 …/shop/staging/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php(206): Doctrine\DBAL\Connection->executeQuery(‚SELECT category…‘, Array, Array) #2 …/shop/staging/engine/Shopware/Bundle/StoreFrontBundle/Gateway/DBAL/CategoryGateway.php(164): Doctrine\DBAL\Query\QueryBuilder->execute() #3 …/shop/staging/engine/Shopware/Bundle/StoreFrontBundle/Service/Core/CategoryService.php(66): Shopware\Bundle\StoreFrontBundle\Gateway\DBAL\CategoryGateway->getList(Array, Object(Shopware\Bundle\StoreFrontBundle\Struct\ShopContext)) #4 …/cli in …/shop/staging/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php on line 131

Es scheint so als wurden Migrationen nicht ausgeführt. Hattest du Fehler im Updater?

Hey @Shyim‍ ,

ich lade die update.zip per wget in den Ordner und führe das Update dort aus. Fehler habe ich bei diesem Update nicht, hatte aber in den letzten Updates welche, bei denen ich händisch Tabellen anlegen musste/sollte. Hilfe dazu fand ich hier im Forum. Natürlich hab ich mir sowas wichtiges nicht notiert… Frown

Kann ich die Migration nun noch nachholen?

Danke dir im voraus!

Gruß Peter

Die Migration dürfte dir fehlen shopware/1454-add-category-shop-association.php at 65b738cbc310b1306630727727d671fbbdf6e72d · shopware/shopware · GitHub

1 „Gefällt mir“

Hey @Shyim‍ ,

ich danke dir sehr für deine Recherche!

Das sieht stark danach aus. Dann werd ich mal mein bestes versuchen, um diese nachträglich durchzuführen. Fraglich bleibt für mich, wie so etwas passieren kann.

Hat jemand eventuell eine Empfehlung, wie ich am besten vorgehe? Ich würde sonst versuchen, die MySQL-Befehle in dem Skript direkt auf der DB zu verarbeiten. Was sollte ich beachten?

PS: Kann ich auch auf weitere, u.U. unvollständige Migrationen testen?

Gruß Peter

Okay,

ich habe es gerade mal „gewagt“ - und siehe da - es hat funktioniert.

Danke nochmal @Shyim‍ für den Hinweis.

 

Bei der Gelegenheit ist mir aufgefallen, daß in der von Shyim angegebenen Migrations-Datei ein kleiner Fehler zu stecken scheint.

Beim SQL-Befehl in Zeile 76-79 fehlt am Ende ein Semikolon. Eventuell hängt/hing es damit zusammen?

            INSERT IGNORE s_core_config_form_translations
                (`form_id`, `locale_id`, `label`, `description`) 
            VALUE
                (@blogId, '2', 'Blog', null)

Gruß Peter