Daten-Migration von XT-Commerce Daten schlägt fehl

Hallo alle zusammen, folgendes Problem. Ich habe das Daten-Migrationstool korrekt installiert und möchte die Daten aus einer XTC-Datenbank importieren. Die Kategorien Kunden werden auch komplett richtig importiert, nur leider alles andere nicht. Bei Bestellimport kommt folgende Fehlermeldung: Import fehlgeschlagen exception ‘PDOException’ with message ‘SQLSTATE[23000]: Integrity constraint violation: 1052 Column ‘customers_id’ in field list is ambiguous’ in C:\xampp\htdocs\engine\Enlight\Vendor\Zend\library\Zend\Db\Statement\Pdo.php:228 Stack trace: #0 C:\xampp\htdocs\engine\Enlight\Vendor\Zend\library\Zend\Db\Statement\Pdo.php(228): PDOStatement->execute(Array) #1 C:\xampp\htdocs\engine\Enlight\Vendor\Zend\library\Zend\Db\Statement.php(300): Zend_Db_Statement_Pdo->_execute(Array) #2 C:\xampp\htdocs\engine\Enlight\Vendor\Zend\library\Zend\Db\Adapter\Abstract.php(479): Zend_Db_Statement->execute(Array) #3 C:\xampp\htdocs\engine\Enlight\Vendor\Zend\library\Zend\Db\Adapter\Pdo\Abstract.php(238): Zend_Db_Adapter_Abstract->query(’???SELECT???..’, Array) #4 C:\xampp\htdocs\engine\Shopware\Plugins\Community\Backend\SwagMigration\Components\Migration\Profile.php(253): Zend_Db_Adapter_Pdo_Abstract->query(’???SELECT???..’) #5 C:\xampp\htdocs\engine\Shopware\Plugins\Community\Backend\SwagMigration\Controllers\Migration.php(703): Shopware_Components_Migration_Profile->queryOrders() #6 C:\xampp\htdocs\engine\Shopware\Plugins\Community\Backend\SwagMigration\Controllers\Migration.php(968): Shopware_Controllers_Backend_Migration->importOrders() #7 C:\xampp\htdocs\engine\Enlight\Enlight\Controller\Action.php(55): Shopware_Controllers_Backend_Migration->importAction() #8 C:\xampp\htdocs\engine\Enlight\Enlight\Controller\Dispatcher\DispatcherDefault.php(329): Enlight_Controller_Action->dispatch(‘importAction’) #9 C:\xampp\htdocs\engine\Enlight\Enlight\Controller\Front.php(88): Enlight_Controller_Dispatcher_DispatcherDefault->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #10 C:\xampp\htdocs\engine\Shopware\Bootstrap.php(21): Enlight_Controller_Front->dispatch() #11 C:\xampp\htdocs\engine\Enlight\Enlight\Application.php(69): Shopware_Bootstrap->run() #12 C:\xampp\htdocs\shopware.php(6): Enlight_Application->run() #13 {main} Vielleicht kann mir ja jemand weiterhelfen… Anmerkung: Derzeit betreibe ich die Shopware-Installation lokal auf einer virtuellen Maschine, so dass es keine Problem mit Rechten geben sollte. Funktioniert ansonsten alles wunderbar.

[quote=„fides“] [i]exception ‚PDOException‘ with message ‚SQLSTATE[23000]: Integrity constraint violation: 1052 Column ‚customers_id‘ in field list is ambiguous‘ in C:\xampp\htdocs\engine\Enlight\Vendor\Zend\library\Zend\Db\Statement\Pdo.php:228 Stack trace:[/quote] Das sieht nach einem fehlerhaften Import-SQL-Befehl aus, in dem mindestens 2 Tabellen verwendet werden, die das Feld „customers_id“ enthalten, wobei „customers_id“ im SQL verwendet wird, ohne zu definieren, das „customers_id“ aus welcher Tabelle verwendet werden soll… Da kann wohl nur die Shopware AG helfen.

Das Problem liegt wohl in der XT-Datenbank - ist das eine Standard-Umgebung oder irgendeine modifizierte XTC-Version? In der Datenbank-Query, die wir zum auslesen der Ergebnisse bilden, taucht bei dir wohl zweimal die spalte customer_id auf, was im Standard nicht so ist.

[quote=“Stefan Hamann”]Das Problem liegt wohl in der XT-Datenbank - ist das eine Standard-Umgebung oder irgendeine modifizierte XTC-Version? In der Datenbank-Query, die wir zum auslesen der Ergebnisse bilden, taucht bei dir wohl zweimal die spalte customer_id auf, was im Standard nicht so ist.[/quote] Ja, macht Sinn… Aber wenn ihr in der Query das “customer_id”-Feld mit einer Tabellen-Kennung verseht (“c.customer_id”) wobei z.B. die “from” Tabelle mit “customers c” definiert ist, dann stören solche Modifikationen ja nicht mehr… Bei xtc & Co. muss man mit solchen Abweichungen vom Standard rechnen…

Okay - du könntest mal folgendes probieren. Datei: engine/Shopware/Plugins/Community/Backend/Components/Migration/Profile/XtCommerce.php In der Funktion: public function getCustomerSelect() Den Part: LEFT JOIN {$this-\>quoteTable('orders', 'o')} ON o.orders\_id = ( SELECT orders\_id FROM {$this-\>quoteTable('orders')} WHERE customers\_id=u.customers\_id ORDER BY orders\_id DESC LIMIT 1 ) in: LEFT JOIN {$this-\>quoteTable('orders', 'o')} ON o.orders\_id = ( SELECT orders\_id FROM {$this-\>quoteTable('orders')} WHERE o.customers\_id=u.customers\_id ORDER BY orders\_id DESC LIMIT 1 ) ändern. Also im Prinzip nur aus customers_id o.customers_id machen. Sag mal Bescheid, ob das funktioniert hat. Dann ändern wir das standardmäßig.

Hallo alle zusammen, erstmal vielen Dank für die prompte Unterstützung. Zuerst zur Versions-Frage: Unsere XTC-Version ist Standard und nicht modifiziert. Ich habe Datei xtcommerce.php angepasst und den Import nochmal gestartet. Die Fehlermeldung bleibt die gleiche. Habe auch in der SQL-Datenbank in der Tabelle orders nachgeschaut, da gibts auch nur einmal die Spalte customers_id Wie schonmal erwähnt, die Kunden konnte ich korrekt importieren.

Hallo liebe Community, erstmal vielen Dank für meines Erachtens die zur Zeit beste Shopapplikation und auch noch von einem deutschen Entickler Team, danke :slight_smile: Ich habe vorher mit Magento gearbeitet, tolles System aber viel zu mächtig für normalsterbliche. Ich will nun Artikel Bilder etc. in Shopware migrieren! Der Import findet von einem lokalen Dump statt, da ich die Db nicht von aussen erreichbar machen kann! Es klappt auch alles soweit, Artikel, Kategorien etc. aber leider werden die Bilder nicht importiert, was bei 1400 Produkten ziemlich unkonfortabel ist, was aber, meine Vermutung, daran liegt, das die Zuordnung nicht mehr stimmt da lokaler Dump! Zur Ordnerstruktur: Der alte xt:commerce Shop liegt unter http://www.xxxxxx.de/shop Die Bilder sind unter http://www.xxxxxx.de/shop/images/product_images /info_images /original_images /popup_images /thumbnail_images zu finden. Ein Bilck in Sql Db eines xt Produktes zeigt, das die Bild url oooo1.jpg einfach so hinterlegt wurde. Wie kann man die Zuordnung zu den jeweilg in Shopware zu importierenden Artikeln wieder herstellen, weiss jemand Rat oder hat(te) jemand schon mal dasselbe Problem und eventuell einen Lösungsansatz!? Würde mich sehr über Hilfe & Ratschläge freuen. MfG cominaction

Hi cominaction, die Bilder eines xtCommerce Shops werden unter folgedem Pfad erwartet: http://www.xxxxxx.de/shop/images/produc … al_images/ Hier sollte sicher gestellt sein das beim Import auch der Pfad: “http://www.xxxxxx.de/shop” angegeben wird. Zudem sollte sicher gestellt werden dass die entsprechenden Schreibrechte auf dem Quell und Zielordner existieren.

1 „Gefällt mir“

Hallo, danke für den Ratschlag! Ja ich habe es hinbekommen, aber trotzdem vielen Dank für die schnelle Antwort. cominaction