Ich versuche derzeit mit „Shopware Migration 2.0 (Beta)“, einen Oxidshop (4.5.5) zu Shopware (4.0.5) zu migrieren,. Zunächst funktioniert alles einwandfrei, das Mapping kann ich erfolgreich abschließen. Der Import startet, alle Artikel werden importiert, ebenso die Kategorien. Anschließend beendet sich der Import, Kunden, Bewertungen, Produktbilder und Bestellungen werden nicht übertragen. Bei den Produktbildern frage ich mich, ob ich eventuell den falschen Pfad auswähle, nämlich den Ordner, in welchem die Masterbilder aus Oxid liegen (http://test-shop45.meinedomain.de/out/pictures/master/1). Zusätzlich passiert es ab und zu, dass der Import mit folgender Fehlermeldung abbricht: Ups! Ein Fehler ist aufgetreten! Die nachfolgenden Hinweise sollten Ihnen weiterhelfen. Zend_Session::start() - /kunden/353233_79110/meinedomain.de/test/sw/shopware/engine/Library/Zend/Session.php(Line:484): Error #8 session_start(): ps_files_cleanup_dir: opendir(/tmp) failed: Permission denied (13) in Zend/Session.php on line 504 Stack trace: #0 Shopware/Plugins/Default/Backend/Auth/Bootstrap.php(410): Zend_Session::start(Array) #1 Enlight/Event/Handler/Plugin.php(149): Shopware_Plugins_Backend_Auth_Bootstrap->onInitResourceBackendSession(Object(Enlight_Event_EventArgs)) #2 Enlight/Event/EventManager.php(194): Enlight_Event_Handler_Plugin->execute(Object(Enlight_Event_EventArgs)) #3 Enlight/Bootstrap.php(300): Enlight_Event_EventManager->notifyUntil(‚Enlight_Bootstr…‘, Array) #4 Shopware/Plugins/Default/Backend/Auth/Bootstrap.php(445): Enlight_Bootstrap->loadResource(‚BackendSession‘) #5 Enlight/Event/Handler/Plugin.php(149): Shopware_Plugins_Backend_Auth_Bootstrap->onInitResourceAuth(Object(Enlight_Event_EventArgs)) #6 Enlight/Event/EventManager.php(194): Enlight_Event_Handler_Plugin->execute(Object(Enlight_Event_EventArgs)) #7 Enlight/Bootstrap.php(300): Enlight_Event_EventManager->notifyUntil(‚Enlight_Bootstr…‘, Array) #8 Enlight/Bootstrap.php(232): Enlight_Bootstrap->loadResource(‚Auth‘) #9 Enlight/Application.php(500): Enlight_Bootstrap->hasResource(‚Auth‘) #10 Shopware/Plugins/Default/Backend/Auth/Bootstrap.php(230): Enlight_Application->__call(‚Auth‘, Array) #11 Shopware/Plugins/Default/Backend/Auth/Bootstrap.php(230): Shopware->Auth() #12 Shopware/Plugins/Default/Backend/Auth/Bootstrap.php(211): Shopware_Plugins_Backend_Auth_Bootstrap->checkAuth() #13 Enlight/Event/Handler/Plugin.php(149): Shopware_Plugins_Backend_Auth_Bootstrap->onPreDispatchBackend(Object(Enlight_Event_EventArgs)) #14 Enlight/Event/EventManager.php(156): Enlight_Event_Handler_Plugin->execute(Object(Enlight_Event_EventArgs)) #15 Enlight/Controller/Action.php(122): Enlight_Event_EventManager->notify(‚Enlight_Control…‘, Array) #16 Enlight/Controller/Dispatcher/Default.php(521): Enlight_Controller_Action->dispatch(‚importAction‘) #17 Enlight/Controller/Front.php(214): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #18 Shopware/Bootstrap.php(79): Enlight_Controller_Front->dispatch() #19 Enlight/Application.php(192): Shopware_Bootstrap->run() #20 shopware.php(74): Enlight_Application->run() #21 {main} Prinzipiell bin ich begeistert von der Einfachheit der Migration - wenn diese Probleme gelöst würden, wäre ich restlos glücklich.
Hallo, die Probleme können auch auf die genannte Fehlermeldung zurückzuführen sein. Das sollte daher am besten als erstes in dem Shop bzw. Hosting angepasst werden. Die Meldung kommt aufgrund fehlender Rechte - schau mal hier: post51014.html#p51014 oder post53189.html#p53189
Hallo Sebastian, vielen Dank für die schnelle Antwort. Die Lösung aus dem ersten Deiner zitierten Posts brachte schonmal das Ergebnis, dass die kryptische Fehlermeldung nicht mehr auftaucht. Der Import bricht allerdings nach wie vor ab, sobald die Kategorien übertragen wurde. Der Balken bleibt stehen mit der Meldung “Kategorien erfolgreich importiert”, diese sind auch im Backend aufrufbar. Nach einer Weile verschwindet der Balken, das Fenster “Shop-Migration” bleibt stehen. Dies passiert auch, wenn ich die Option “Produkt-Bilder importieren” deaktivere. Im Error Log des Servers werden übrigens keine Fehler gespeichert. Hast Du eventuell noch eine Idee?
Was sagt denn der Firebug? Nach den Kategorien werden die Preise importiert. Entweder er bricht bei Dir schon bei den Kategorien ab oder bei den Preisen. Das Net Panel von Firebug sagt wo genau: http://www.w3resource.com/web-developme … orials.php Im Normalfall steht das hier drin: {"message":"Preise erfolgreich importiert","success":true,"import\_prices":null,"offset":0,"progress":-1}
Nach dem Import der Kategorien erscheint dies hier: {"message":"Kategorien erfolgreich importiert","success":true,"import\_categories":null,"offset":0,"progress":-1}
Anschließend läuft er offenbar in einen Timeout, da der Vorgang nach exakt 30 Sekunden abbricht. Folgende Meldung erscheint in roten Lettern: POST Import | Aborted | test-sw.meinedomain.de | 0 B | 141.blabla.bla.bla:80
max_execution_time ist allerdings auf 180 gesetzt.
Hi, Was sagt denn die Systeminfo von Shopware? Was für Werte sind dort eingetragen?
Hi Mario, hier die Werte aus dem Backend: PHP-Version ist 5.49, weitere Infos kann ich gerne raussuchen, falls benötigt. Liebe Dank schonmal!
Erhöhe doch mal die Werte auf das maximale: max_execution_time = 600 memory_limit = 1024M
Ich hab den Server jetzt auf maximale Leistung gestellt, mit Werten weit über den Anforderungen, unter anderem auch die beiden von Dir im letzten Post genannten. Keine Änderung, leider. Ich habe daraufhin angefangen, mir im Ordner des Plugins shopware/engine/Shopware/Plugins/Community/Backend/SwagMigration/Components/Migration/Profile die Templatedatei für den Oxidimport anzuschauen. Dazu bin ich mittels MySQL-Workbench jede Abfrage durchgegangen. Du schriebst, dass nach dem Kategorieimport der Preisimport kommt? Genau diese Abfrage ab Zeile 271 in der Oxid.php scheint fehlerhaft zu sein. Alle vorherigen laufen, bei der Preisabfrage aber kommt der Fehler „Error Code: 1221. Incorrect usage of UNION and ORDER BY“. Die Variable beim Tabellennamen habe ich natürlich immer ersetzt durch den korrekten Namen, in diesem Fall oxarticles und oxprice2article - daran kann es nicht liegen. Leider bin ich mit MySQL nicht so bewandert, dass ich auf Anhieb den Fehler finden könnte. Hat vielleicht jemand eine Idee? Hier noch das Original-Query: public function getProductPriceSelect() { return " ( SELECT `OXARTID` as productID, `OXAMOUNT` as `from`, `OXADDABS` as `price`, `OXADDPERC` as `percent`, '' as pricegroup FROM {$this-\>quoteTable('price2article')} ORDER BY productID, `from` ) UNION ALL ( SELECT `OXID` as productID, 0 as `from`, `OXPRICEA` as `price`, 0 as `percent`, 'oxidpricea' as pricegroup FROM {$this-\>quoteTable('articles')} WHERE `OXPRICEA`!=0 ) UNION ALL ( SELECT `OXID` as productID, 0 as `from`, `OXPRICEB` as `price`, 0 as `percent`, 'oxidpriceb' as pricegroup FROM {$this-\>quoteTable('articles')} WHERE `OXPRICEB`!=0 ) UNION ALL ( SELECT `OXID` as productID, 0 as `from`, `OXPRICEC` as `price`, 0 as `percent`, 'oxidpricec' as pricegroup FROM {$this-\>quoteTable('articles')} WHERE `OXPRICEC`!=0 )"; }
und hier die von mir für die Workbench angepasste Version: SELECT `OXARTID` as productID, `OXAMOUNT` as `from`, `OXADDABS` as `price`, `OXADDPERC` as `percent`, '' as pricegroup FROM oxprice2article ORDER BY productID, `from` UNION ALL ( SELECT `OXID` as productID, 0 as `from`, `OXPRICEA` as `price`, 0 as `percent`, 'oxidpricea' as pricegroup FROM oxarticles WHERE `OXPRICEA`!=0 ) UNION ALL ( SELECT `OXID` as productID, 0 as `from`, `OXPRICEB` as `price`, 0 as `percent`, 'oxidpriceb' as pricegroup FROM oxarticles WHERE `OXPRICEB`!=0 ) UNION ALL ( SELECT `OXID` as productID, 0 as `from`, `OXPRICEC` as `price`, 0 as `percent`, 'oxidpricec' as pricegroup FROM oxarticles WHERE `OXPRICEC`!=0
Lass uns doch mal den kompletten dump zukommen. PN solltest du mittlerweile bekommen haben.
Leider nicht - es kam zwar eine Mail, dass eine Nachricht da sei, im Ordner wird keine angezeigt. Welchen Dump genau meinst Du? Vielleicht sollte ich Dir einfach mal alle Zugangsdaten zu unserem Testsystem geben, dann kannst Du Dir am ehesten einen Eindruck verschaffen.
Dann schick phpmyadmin und ftp-zugangsdaten an forum@shopware.de.
Du hast Post…
Ich habe mal weitergebastelt. Nachdem die Servereinstellungen jetzt problemlos ausreichen sollten, habe ich die zwei Posts vorher erwähnte Datenbankabfrage in der Template-Datei für den Oxid-Import auskommentiert. Daraufhin lief die Migration bis zu den Produktbildern weiter, die größtenteils importiert wurden. Das deutet schon darauf hin, dass die Abfrage wenn auch nicht fehlerhaft, doch zumindest nicht kompatibel mit unserer Datenbank ist. Anschließend brach der Vorgang wieder ab, auch wenn ich nur einzelne Optionen wie “Bewertungen importieren” aktiviert habe. Leider ist im Server-Log nichts zu finden. Gibt es ein eigenes Logging von Shopware? Irgendwie konnte ich dazu bislang nichts finden.
Weiteres Update: Der Import aus einem frisch aufgesetzten Oxid mit Demodaten funktioniert einwandfrei. Es muss also an unserem Shop liegen. Für Ideen wäre ich nach wie vor dankbar.
Hi, nur um den bisherigen Stand für Interessierte zusammenzufassen: Wir erarbeiten da gerade eine Lösung und analysieren das System und werden die Erkenntnisse dann selbstverständlich ins Plugin zurück fließen lassen. Besten Gruß, Daniel