Error beim Bestellabschluss nach Update

Hallo,

nachdem ich meinen Shop von 5.2 auf 5.3 geupdated, und anschließend den Produktivmodus eingeschalten habe, bekomme ich beim Bestellabschluss folgenden Fehler (es scheint, als ob beim Update die Tabellen nicht korrekt übernommen wurden, o.a.):

exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'phone' in 'field list'' in /var/www/clients/client1/web2/web/engine/Library/Zend/Db/Statement/Pdo.php:219
Stack trace:
#0 /var/www/clients/client1/web2/web/engine/Library/Zend/Db/Statement/Pdo.php(219): PDOStatement->execute(Array)
#1 /var/www/clients/client1/web2/web/engine/Library/Zend/Db/Statement.php(297): Zend_Db_Statement_Pdo->_execute(Array)
#2 /var/www/clients/client1/web2/web/engine/Library/Zend/Db/Adapter/Abstract.php(470): Zend_Db_Statement->execute(Array)
#3 /var/www/clients/client1/web2/web/engine/Library/Zend/Db/Adapter/Pdo/Abstract.php(232): Zend_Db_Adapter_Abstract->query('\n INSERT...', Array)
#4 /var/www/clients/client1/web2/web/engine/Library/Enlight/Components/Db/Adapter/Pdo/Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->query('\n INSERT...', Array)
#5 /var/www/clients/client1/web2/web/engine/Library/Enlight/Components/Db/Adapter/Pdo/Mysql.php(131): Enlight_Components_Db_Adapter_Pdo_Mysql->query('\n INSERT...', Array)
#6 /var/www/clients/client1/web2/web/engine/Shopware/Core/sOrder.php(1130): Enlight_Components_Db_Adapter_Pdo_Mysql->executeUpdate('\n INSERT...', Array)
#7 /var/www/clients/client1/web2/web/engine/Shopware/Core/sOrder.php(773): sOrder->sSaveShippingAddress(Array, '25')
#8 /var/www/clients/client1/web2/web/engine/Shopware/Controllers/Frontend/Checkout.php(844): sOrder->sSaveOrder()
#9 /var/www/clients/client1/web2/web/engine/Shopware/Controllers/Frontend/Checkout.php(375): Shopware_Controllers_Frontend_Checkout->saveOrder()
#10 /var/www/clients/client1/web2/web/engine/Library/Enlight/Controller/Action.php(159): Shopware_Controllers_Frontend_Checkout->finishAction()
#11 /var/www/clients/client1/web2/web/engine/Library/Enlight/Controller/Dispatcher/Default.php(530): Enlight_Controller_Action->dispatch('finishAction')
#12 /var/www/clients/client1/web2/web/engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#13 /var/www/clients/client1/web2/web/engine/Shopware/Kernel.php(189): Enlight_Controller_Front->dispatch()
#14 /var/www/clients/client1/web2/web/vendor/symfony/http-kernel/HttpCache/HttpCache.php(491): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#15 /var/www/clients/client1/web2/web/engine/Shopware/Components/HttpCache/AppCache.php(268): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#16 /var/www/clients/client1/web2/web/vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#17 /var/www/clients/client1/web2/web/vendor/symfony/http-kernel/HttpCache/HttpCache.php(275): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true)
#18 /var/www/clients/client1/web2/web/engine/Shopware/Components/HttpCache/AppCache.php(143): Symfony\Component\HttpKernel\HttpCache\HttpCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)
#19 /var/www/clients/client1/web2/web/vendor/symfony/http-kernel/HttpCache/HttpCache.php(206): Shopware\Components\HttpCache\AppCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)
#20 /var/www/clients/client1/web2/web/engine/Shopware/Components/HttpCache/AppCache.php(116): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#21 /var/www/clients/client1/web2/web/shopware.php(118): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#22 {main}

Next exception 'Zend_Db_Statement_Exception' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'phone' in 'field list'' in /var/www/clients/client1/web2/web/engine/Library/Zend/Db/Statement/Pdo.php:224
Stack trace:
#0 /var/www/clients/client1/web2/web/engine/Library/Zend/Db/Statement.php(297): Zend_Db_Statement_Pdo->_execute(Array)
#1 /var/www/clients/client1/web2/web/engine/Library/Zend/Db/Adapter/Abstract.php(470): Zend_Db_Statement->execute(Array)
#2 /var/www/clients/client1/web2/web/engine/Library/Zend/Db/Adapter/Pdo/Abstract.php(232): Zend_Db_Adapter_Abstract->query('\n INSERT...', Array)
#3 /var/www/clients/client1/web2/web/engine/Library/Enlight/Components/Db/Adapter/Pdo/Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->query('\n INSERT...', Array)
#4 /var/www/clients/client1/web2/web/engine/Library/Enlight/Components/Db/Adapter/Pdo/Mysql.php(131): Enlight_Components_Db_Adapter_Pdo_Mysql->query('\n INSERT...', Array)
#5 /var/www/clients/client1/web2/web/engine/Shopware/Core/sOrder.php(1130): Enlight_Components_Db_Adapter_Pdo_Mysql->executeUpdate('\n INSERT...', Array)
#6 /var/www/clients/client1/web2/web/engine/Shopware/Core/sOrder.php(773): sOrder->sSaveShippingAddress(Array, '25')
#7 /var/www/clients/client1/web2/web/engine/Shopware/Controllers/Frontend/Checkout.php(844): sOrder->sSaveOrder()
#8 /var/www/clients/client1/web2/web/engine/Shopware/Controllers/Frontend/Checkout.php(375): Shopware_Controllers_Frontend_Checkout->saveOrder()
#9 /var/www/clients/client1/web2/web/engine/Library/Enlight/Controller/Action.php(159): Shopware_Controllers_Frontend_Checkout->finishAction()
#10 /var/www/clients/client1/web2/web/engine/Library/Enlight/Controller/Dispatcher/Default.php(530): Enlight_Controller_Action->dispatch('finishAction')
#11 /var/www/clients/client1/web2/web/engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#12 /var/www/clients/client1/web2/web/engine/Shopware/Kernel.php(189): Enlight_Controller_Front->dispatch()
#13 /var/www/clients/client1/web2/web/vendor/symfony/http-kernel/HttpCache/HttpCache.php(491): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#14 /var/www/clients/client1/web2/web/engine/Shopware/Components/HttpCache/AppCache.php(268): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#15 /var/www/clients/client1/web2/web/vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#16 /var/www/clients/client1/web2/web/vendor/symfony/http-kernel/HttpCache/HttpCache.php(275): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true)
#17 /var/www/clients/client1/web2/web/engine/Shopware/Components/HttpCache/AppCache.php(143): Symfony\Component\HttpKernel\HttpCache\HttpCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)
#18 /var/www/clients/client1/web2/web/vendor/symfony/http-kernel/HttpCache/HttpCache.php(206): Shopware\Components\HttpCache\AppCache->invalidate(Object(Symfony\Component\HttpFoundation\Request), true)
#19 /var/www/clients/client1/web2/web/engine/Shopware/Components/HttpCache/AppCache.php(116): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#20 /var/www/clients/client1/web2/web/shopware.php(118): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#21 {main}

Hattet ihr schon mal ein derartiges Problem, bzw. kann mir jemand helfen?

Ich mache zwar alle paar Tage Datenbank-Backups, jedoch möchte ich nicht zum x-ten Mal den Shop neu starten und alle Einkaufswelten etc. neu anlegen.

 

Vielen Dank :slight_smile:

Hallo,

hast du die Anleitung dazu einmal durchgearbeitet: http://community.shopware.com/Update-Guide-Shopware-5.2-auf-Shopware-5.3_detail_2011.html ? Hast du vielleicht bei den Versandkosten eine zusätzliche Bedingung hinterlegt? Oder vielleicht ein nicht kompatibles Plugin?

Beste Grüße

Sebastian

Hallo Sebastian!

  • Deprecations:  Alte Datenbanktabellen s_user_billingaddresss_user_shippingaddress sowie s_core_engine_elements deprecated

Ich habe vor dem Upgrade den Guide nicht durchgearbeitet, da ich den Shop erst gestartet habe, und noch keine „echte“ Kunden registriert sind. (die oben genannten Tabellen sind noch bei mir in der Datenbank, wurden beim Update also nicht gelöscht - ich weiß nicht ob das normalerweise gelöscht wird, oder nicht)

Die installierten Plugins sind vor dem Update alle kompatibel gewesen, deswegen habe ich auf gut Glück geupdated.

Bei den Versandkosten habe ich eine eigene VOR dem Update angelegt, welche für den bestellten Artikel verwendet wurde, hierbei habe ich aber nichts spezielles definiert:

Hier noch meine Plugins:

Ich hoffe, die Infos sind ausreichend.

Hallo,

deaktiviere doch einfach einmal alle Plugins, dafür gibt es doch im Plugin Manager den Modus “Sicherheitsmodus”. Wenn es dann immernoch nicht funktioniert, liegt es zumindestens nicht an den Plugins.

Danach kannst du ja einfach einmal das Responsive Theme von Shopware aktivieren und prüfen, ob es dann funktioniert (um eine eigene Anpassung im eigenen Theme auszuschließen).

Beste Grüße

Sebastian

Hallo,

hab ich alles gemacht, jedoch bekomme ich noch immer denselben Fehler (… PDOException … Unknown column ‚phone‘ in ‚field list‘ …).

Ich versuche nun mal mich neu zu registrieren und erneut zu bestellen, vielleicht liegt es ja daran, dass Shopware auf das alte Benutzerkonto zugreift und deshalb einen Fehler wirft - mal sehen…

Hallo,

im Prinzip sagt der Fehler ja aus, das er in der entsprechende Tabelle die Spalte “phone” nicht (mehr) findet. Hier müsste man also analysieren, ob das System diese brauch oder ein spezielles Plugin und wo diese hin ist.

Beste Grüße

Sebastian

Hallo,

ich kann mir nicht vorstellen, dass in irgendeiner Tabelle diese Spalte fehlt, denn auch nach dem Update ist in der veralteten, als auch in der neuen Tabelle die Spalte ‚phone‘ vorhanden.
Ganz ahnungslos bin ich nicht, ich verstehe all diese Fehlermeldungen, kann sie aber nicht nachvollziehen, da nur PDOExceptions ausgeworfen werden.

Leider habe ich in den letzten Monaten, an denen ich an meinem Shop gearbeitet habe schon so viele unzählige Probleme mit Shopware gehabt, dass ich schon überlege eine andere Lösung zu suchen.

Es wäre wirklich toll, wenn man dieses Problem lösen könnte, ohne die Datenbank komplett zurückzusetzen.

(Mittlerweile habe ich alle Plugins ausgeschalten und auch das Standard-Theme in Verwendung, leider tritt der Fehler immer wieder auf…)

LG

Naja die Meldung ist erstmal eindeutig.

Es fehlt dir eine Spalte, die aber von Shopware oder einer Erweiterung gesucht wird. Ich würde aufgrund des Fehlers und dessen Stacktrace bei der s_order_billingadress und _shippingadress anfangen.

 

Vielleicht fehlt bei dir diese Migration: shopware/951-add-shipping-phone.php at 5.3 · shopware/shopware · GitHub

Die Migration ist in meinem update-assets Ordner, wurde aber anscheinend nie ausgeführt.

Daran muss es liegen! Muss man die Migrations von Shopware ausführen lassen, bzw. das ganze Datenbank-Update von 5.3, oder kann man das auch einfach händisch machen?

Naja, hast du das Datenbank-Update denn angestoßen?
Ich würde dir empfehlen das aktuelle Updatepaket manuell hochzuladen und dann per /recovery/update-Aufruf das Update durchlaufen zu lassen.

Vorher kannst du in der s_schema_version (Tabelle) prüfen, ob die Migration 951 denn ausgeführt wurde beim letzten Update und ob es da einen Fehler gab. Wenn die da drins teht, das Feld aber fehlt, musst du die manuell ausführen.

In s_schema_version ist die letzte Version 948, anscheinend hat es beim Update einen Server-Fehler bei mir intern gegeben, oder so.

Hab Angst vor Updates  Grin

Spaß beiseite, ich werd mir das Update manuell nachinstallieren. Danke!