Artikel Migration aus Magento 1.7.0.2 schlägt fehl

Hallo Ihr, ich habe soeben die aktuelle Shopware installiert, da wir dringend von Magento weg wollen. Die Installation ist fehlerfrei verlaufen, alle Voraussetzungen erfüllt. Dann hab ich das Migrationstool installiert und auf eine aktuelle Kopie unserer Magento Datenbank losgelassen. Bis auf die Artikel hat alles geklappt. Wenn ich Versuche die Artikel zu importieren, bekomme ich die folgende Fehlermeldung: Code : 42000 Line : 234 File : /var/customers/webs/playground/_test2/engine/Library/Zend/Db/Statement/Pdo.php Error : SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias: ‚weight‘ Trace : #0 … Das Fenster ist zu klein um den Trace komplett zu zeigen… Vor ein paar Jahren hatte schonmal jemand die gleiche Frage zu einer Shopware 3.5, leider ohne Antwort. Hat jemand ne Idee an welcher Ecke ich da suchen muss ? Bin solangsam Ratlos, und die Zeit drückt… Viele Grüße, Alex

Hi Alex, wenn du uns die Zugangsdaten an forum@shopware.de zukommen lässt, schauen wir uns das gerne einmal an. Dazu benötigen wir: [list] [*] Backend-Zugangsdaten zum Shopware-Shop[/*] [*] Datenbank-Verbindungdaten für den Magento-Import[/*] [*] FTP-Zugangsdaten zum Shopware-Shop[/*][/list] Den Import würden wir dann vor Ort nochmal durchspielen und das Verhalten analysieren. Besten Dank schonmal, Daniel

Hallo, wie gerade schon gemailt konnte ich die Ursache finden: In der Datei \engine\Shopware\Plugins\Commercial\Backend\SwagMigration\Components\Migration\Profile\Magento.php gibt es eine Methode getProductSelect. Hier ist eine Anpassung erforderlich. Das Resultat sieht wie folgt aus: /\*\* \* Returns the sql statement to select the shop system articles \* @return string {String} | sql for the articles \*/ public function getProductSelect() { $attributes = array( 'description', 'name', 'short\_description', 'status', 'manufacturer', 'price', 'cost', 'tax\_class\_id', 'meta\_keyword', 'special\_price' ); $custom\_select = ''; foreach ($this-\>getAttributes() as $attributeID=\>$attribute) { $custom\_select .= ", $attributeID.value as $attributeID"; $attributes[] = $attributeID; } $sql = " SELECT catalog\_product.entity\_id as productID, catalog\_product.sku as ordernumber, catalog\_product.created\_at as added, name.value as name, NULL as additionaltext, description.value as description\_long, short\_description.value as description, meta\_keyword.value as keywords, manufacturer\_option.value as supplier, cs.qty as instock, cs.min\_qty as stockmin, cs.min\_sale\_qty as minpurchase, cs.max\_sale\_qty as maxpurchase, tax\_class\_id.value as taxID, cost.value as baseprice, IFNULL(special\_price.value, price.value) as price, IF(special\_price.value IS NULL, 0, price.value) as pseudoprice $custom\_select FROM {$this-\>quoteTable('catalog\_product\_entity', 'catalog\_product')} {$this-\>createTableSelect('catalog\_product', $attributes, 0)} LEFT JOIN {$this-\>quoteTable('cataloginventory\_stock\_item', 'cs')} ON cs.`product_id`=catalog\_product.`entity_id` AND cs.`stock_id`=1 LEFT JOIN {$this-\>quoteTable('eav\_attribute\_option\_value', 'manufacturer\_option')} ON manufacturer\_option.value\_id=manufacturer.value "; return $sql; } Wir werden die Änderung natürlich auch in kommenden Versionen des Plugins berücksichtigen.