Luca01 Posted April 25, 2014 Share Posted April 25, 2014 (edited) Hallo Foris, beim Wechsel von der 1.5 zu 1.6 habe ich vor den csv Import zu nutzen. Ich möchte gerne alle für mich relevanten Daten (Kategorie, Produkte, Varianten - im Prinizip alles was man über die Importfunktion regulär importieren kann) in eine neue Datenbank importieren. Es könnte nämlich sein, dass einige Probleme in der Datenstruktur über die Versionen hinweg fortgeschrieben sind z.B. Fehler in den nested sets oder auffällig viele Redundanzen in den Configurationstabellen. Ich lebe nun gerade in der Hoffnung, dass ich nicht alle sql selber schreiben muß. Vielleicht hat ja jemand schon sql's für diesen Zweck geschrieben. Vielleicht können wir auch tauschen? Gerne gegen pm. Viele Grüße Edited April 25, 2014 by Luca01 (see edit history) Link to comment Share on other sites More sharing options...
Luca01 Posted April 28, 2014 Author Share Posted April 28, 2014 (edited) Hallo Foris, ich futter mal ein bischen an und stelle einen sql ein mit dem man eine csv-Datei für den Kategorieimport erhält. select c.id_category as ID, c.active as Active, c.name as Name, d.name as 'Parent category', c.is_root_category as 'Root category', c.description as Description, c.meta_title as 'Meta title', c.meta_keywords as 'Meta keywords', c.meta_description as 'Meta description', c.link_rewrite as 'URL rewritten', CONCAT('http://www.mydomain.de/img/c/',c.id_category,'.jpg') as 'Image URL' FROM (SELECT a.id_category, a.active, b.name, a.id_parent, a.is_root_category, b.description, b.meta_title, b.meta_keywords, b.meta_description, b.link_rewrite FROM ps_category as a INNER JOIN ps_category_lang as b on a.id_category = b.id_category) as c INNER JOIN ps_category_lang as d ON c.id_parent = d.id_category ORDER BY c.id_parent Viele Grüße ps: Bei der Verwendung des sql ist wichtig, dass man die Hauptkategorien 0 und 1 aus der csv Datei löscht. Ansonsten kann es Schwierigkeiten mit dem Lauf geben. Edited May 30, 2014 by Luca01 (see edit history) Link to comment Share on other sites More sharing options...
Mutabor Posted April 28, 2014 Share Posted April 28, 2014 Führt bei mir nur zur Fehlermeldung "Die Tabelle 'DEPENDENT- SUBQUERY' existiert nicht." Link to comment Share on other sites More sharing options...
Luca01 Posted April 28, 2014 Author Share Posted April 28, 2014 Hallo Mutabor, wo hast Du ihn denn versucht aufzurufen. Ein sql Fehler ist das ja nicht. Viele Grüße Link to comment Share on other sites More sharing options...
Mutabor Posted April 29, 2014 Share Posted April 29, 2014 Mit dem SQL-Manager von Prestashop, womit denn sonst? Link to comment Share on other sites More sharing options...
Whiley Posted April 29, 2014 Share Posted April 29, 2014 Hey Luca, hab' deine Abfrage getestet, PS1.5.6.2 mit phpmyadmin - hat funktioniert! importieren PS1.6.0.6 mit csv-Import hat ebenfalls funktioniert. Grüsse Whiley 1 Link to comment Share on other sites More sharing options...
Luca01 Posted May 30, 2014 Author Share Posted May 30, 2014 (edited) Hallo Foris, mittlerweile habe ich alle für den sql-Import der Prestashopschnittstelle möglichen Export sql's fertig. Also zunächst für die Artikel/Produkte: SELECT a.id_product, a.active, b.name, c.categories, a.price, a.id_tax_rules_group, a.wholesale_price, a.reference, a.supplier_reference, d.name, e.name, a.ean13, a.upc, a.ecotax, a.width, a.height, a.depth, a.weight, f.quantity, a.minimal_quantity, a.visibility, a.additional_shipping_cost, a.unity, a.unit_price_ratio, b.description_short, b.description, g.tags, b.meta_title, b.meta_keywords, b.meta_description, b.link_rewrite, b.available_now, b.available_later, a.available_for_order, a.available_date, a.date_add, a.show_price, h.bild, 1 as bilder_loschen, a.online_only, a.condition, a.customizable, a.uploadable_files, a.text_fields, a.out_of_stock, b.id_shop FROM ps_product as a left outer join ps_product_lang as b on a.id_product = b.id_product left outer join (SELECT ps_category_product.id_product, GROUP_CONCAT(ps_category_lang.name) as categories FROM ps_category_product left outer join ps_category_lang on ps_category_product.id_category = ps_category_lang.id_category GROUP BY ps_category_product.id_product) as c on a.id_product = c.id_product left outer join ps_supplier as d on a.id_supplier = d.id_supplier left outer join ps_manufacturer as e on a.id_manufacturer = e.id_manufacturer left outer join (SELECT * FROM ps_stock_available where id_product_attribute = 0) as f on a.id_product = f.id_product left outer join (SELECT ps_product_tag.id_product, GROUP_CONCAT(ps_tag.name) as tags FROM ps_product_tag left outer join ps_tag on ps_product_tag.id_tag = ps_tag.id_tag GROUP BY ps_product_tag.id_product) as g on a.id_product = g.id_product left outer join (SELECT ps_image.id_product, GROUP_CONCAT('http://www.meinedomain.de/img/p/',(CASE WHEN LENGTH(ps_image.id_image)=1 THEN substr(ps_image.id_image,1,1) ELSE (CASE WHEN LENGTH(ps_image.id_image)=2 THEN CONCAT(substr(ps_image.id_image,1,1),'/',substr(ps_image.id_image,2,1)) ELSE (CASE WHEN LENGTH(ps_image.id_image)=3 THEN CONCAT(substr(ps_image.id_image,1,1),'/',substr(ps_image.id_image,2,1),'/',substr(ps_image.id_image,3,1)) ELSE (CASE WHEN LENGTH(ps_image.id_image)=4 THEN CONCAT(substr(ps_image.id_image,1,1),'/',substr(ps_image.id_image,2,1),'/',substr(ps_image.id_image,3,1),'/',substr(ps_image.id_image,4,1)) ELSE CONCAT(substr(ps_image.id_image,1,1),'/',substr(ps_image.id_image,2,1),'/',substr(ps_image.id_image,3,1),'/',substr(ps_image.id_image,4,1),'/',substr(ps_image.id_image,5,1)) END) END) END) END),'/',ps_image.id_image, '.jpg') AS bild FROM ps_image GROUP BY ps_image.id_product) as h on a.id_product = h.id_product Hier ist einmal wichtig, dass die Schnittstelle das Attribut /default_categorie/ nicht unterstützt, was für das Alter der Schnittstelle spricht. Das Attribut muß also mit Hilfe eines update nachgepflegt werden. Zusätzlich unterstützt die Schnittstelle die meisten Stammdaten wie die Steuerkonfiguration nicht. Stammdaten müssen also auch nachgepflegt werden. Nichts desto trotz ist der Artikelimport hilfreich. Edited May 30, 2014 by Luca01 (see edit history) 2 Link to comment Share on other sites More sharing options...
Luca01 Posted May 30, 2014 Author Share Posted May 30, 2014 Hallo Foris, so jetzt wird es wieder einfach. Der Kundenimport ist ein einfacher, aber feiner sql. SELECT a.id_customer, a.active, a.id_gender, a.email, a.passwd, a.birthday, a.lastname, a.firstname, a.newsletter, a.optin, b.gruppen FROM ps_customer as a LEFT OUTER JOIN (SELECT ps_customer_group.id_customer, GROUP_CONCAT(ps_group_lang.name) as gruppen FROM ps_customer_group left outer join ps_group_lang on ps_customer_group.id_group = ps_group_lang.id_group GROUP BY ps_customer_group.id_customer) as b ON a.id_customer = b.id_customer 1 Link to comment Share on other sites More sharing options...
Luca01 Posted May 30, 2014 Author Share Posted May 30, 2014 Hallo Forst, hier ist der Adressen-export der eine csv-Datei für den Adressenimport erstellt. SELECT a.id_address, a.alias, a.active, b.email, a.id_customer, c.name, d.name, a.company, a.lastname, a.firstname, a.address1, a.address2, a.postcode, a.city, e.name, f.name, a.other, a.phone, a.phone_mobile, a.vat_number FROM ps_address AS a LEFT OUTER JOIN ps_customer AS b ON a.id_customer = b.id_customer LEFT OUTER JOIN ps_manufacturer AS c ON a.id_manufacturer = c.id_manufacturer LEFT OUTER JOIN ps_supplier AS d ON a.id_supplier = d.id_supplier LEFT OUTER JOIN ps_country_lang AS e ON a.id_country = e.id_country LEFT OUTER JOIN ps_state AS f ON a.id_state = f.id_state 1 Link to comment Share on other sites More sharing options...
Luca01 Posted May 30, 2014 Author Share Posted May 30, 2014 (edited) Hallo Foris,zum Import der Produkte gehört auch der Import der Produktvarianten. Der Export zielt auf jeweils ein Auswahlfeld oder Farbfeld für die betroffenen Produkte. Wer mehr hat, muß die Abfrage aufbohren. SELECT a.id_product, CONCAT(e.name,':',d.group_type,':',d.position) as 'Name:Anzeigetyp:Anzeige-Position', CONCAT(f.name,':',c.position) as 'Wert: Position', a.supplier_reference, a.reference, a.ean13, a.upc, a.wholesale_price, a.price, a.ecotax, g.quantity, a.minimal_quantity, a.weight, a.default_on, i.position, h.bild, 1 as bilder_loschen FROM `ps_product_attribute` as a LEFT OUTER JOIN ps_product_attribute_combination as b ON a.id_product_attribute = b.id_product_attribute LEFT OUTER JOIN ps_attribute as c ON b.id_attribute = c.id_attribute LEFT OUTER JOIN ps_attribute_group as d ON c.id_attribute_group = d.id_attribute_group LEFT OUTER JOIN ps_attribute_group_lang as e ON d.id_attribute_group = e.id_attribute_group LEFT OUTER JOIN ps_attribute_lang as f ON c.id_attribute = f.id_attribute LEFT OUTER JOIN ps_stock_available as g ON a.id_product_attribute = g.id_product_attribute LEFT OUTER JOIN (SELECT ps_product_attribute_image.id_product_attribute, ps_product_attribute_image.id_image, CONCAT('http://www.meinedomain.de/img/p/',(CASE WHEN LENGTH(ps_product_attribute_image.id_image)=1 THEN substr(ps_product_attribute_image.id_image,1,1) ELSE (CASE WHEN LENGTH(ps_product_attribute_image.id_image)=2 THEN CONCAT(substr(ps_product_attribute_image.id_image,1,1),'/',substr(ps_product_attribute_image.id_image,2,1)) ELSE (CASE WHEN LENGTH(ps_product_attribute_image.id_image)=3 THEN CONCAT(substr(ps_product_attribute_image.id_image,1,1),'/',substr(ps_product_attribute_image.id_image,2,1),'/',substr(ps_product_attribute_image.id_image,3,1)) ELSE (CASE WHEN LENGTH(ps_product_attribute_image.id_image)=4 THEN CONCAT(substr(ps_product_attribute_image.id_image,1,1),'/',substr(ps_product_attribute_image.id_image,2,1),'/',substr(ps_product_attribute_image.id_image,3,1),'/',substr(ps_product_attribute_image.id_image,4,1)) ELSE CONCAT(substr(ps_product_attribute_image.id_image,1,1),'/',substr(ps_product_attribute_image.id_image,2,1),'/',substr(ps_product_attribute_image.id_image,3,1),'/',substr(ps_product_attribute_image.id_image,4,1),'/',substr(ps_product_attribute_image.id_image,5,1)) END) END) END) END),'/',ps_product_attribute_image.id_image, '.jpg') AS bild FROM ps_product_attribute_image) as h ON a.id_product_attribute = h.id_product_attribute Left OUTER Join ps_image as i ON h.id_image = i.id_image WHERE CONCAT(e.name,':',d.group_type,':',d.position)IS NOT NULL Edited June 1, 2014 by Luca01 (see edit history) 1 Link to comment Share on other sites More sharing options...
Luca01 Posted May 30, 2014 Author Share Posted May 30, 2014 (edited) Hallo Foris, so, nun stelle ich hier noch die zwei Abfragen für Hersteller und Lieferanten ein. Im Prinzip sind beide gleich. Mit diesen Abfragen sind alle csv-Import-Schnittstellen der 1.6 Version bedient. Wie schon geschrieben muß man einige Stammdaten direkt über die Datenbank einpflegen. Hier wären mehr Schemata schön, um auch dieses Datenfeld über die Schnittstelle bedienen zu können SELECT a.id_manufacturer, a.active, b.description, b.short_description, b.meta_title, b.meta_keywords, b.meta_description, CONCAT('http://www.meinedomain.de/img/m/',b.id_manufacturer,'.jpg') as 'Image URL' FROM ps_manufacturer AS a LEFT OUTER JOIN ps_manufacturer_lang AS b ON a.id_manufacturer = b.id_manufacturer SELECT a.id_supplier, a.active, a.name, b.meta_title, b.meta_keywords, b.meta_description, CONCAT('http://www.meinedomain.de/img/su/',a.id_supplier,'.jpg') as 'Image URL' FROM ps_supplier AS a LEFT OUTER JOIN ps_supplier_lang AS b ON a.id_supplier = b.id_supplier Edited May 30, 2014 by Luca01 (see edit history) 1 Link to comment Share on other sites More sharing options...
Whiley Posted May 30, 2014 Share Posted May 30, 2014 Hallo Luca, genial - vielen Dank fürs Teilen! [OFF TOPIC] Es wird mal wieder deutlich, dass hier im Deutschen Forum definitiv eine Rubrik fehlt, in der solche Beiträge sinnvoll gesammelt werden können. So etwas wie "Development" oder "Snippets" oder "Bastelecke" ,,, - ich werde mal versuchen da was anzuschieben. Falls ihr zu dem Thema noch Ideen habt, bitte PN an mich, Grüsse Whiley 1 Link to comment Share on other sites More sharing options...
Luca01 Posted May 31, 2014 Author Share Posted May 31, 2014 Hallo Whiley, danke für Deine Rückmeldung. Ich bin mir nicht so sicher, ob das Teilen einen Sinn gemacht hat. Es interessiert sich scheinbar keiner für den Datenexport und Import in die neue Version. Wobei ich das nicht verstehen kann. Bei dem Datenmüll, der bei uns seit dem Wechsel von 1.3 bis 1.5 entstanden ist, und auch der Statistik, ohne Reset- bzw. Komprimierungsfunktion ist es m.E. nur eine Frage das Zeit bis die Datenbank crasht oder der Shop langsam wird. Das müßte ja gerade kleine und mittelgroße Shopbetreiber ohne großes Serverpotential interessieren. Mit dem Import der wichtigen Shopdaten kann man quasi einen neuen Shop aufsetzen und den Kundenstamm mitnehmen. Die kryptischen Passworte habe ich noch nicht durchgetestet. Ich vermute aber mal, das wenn man die secure keys in den neuen Shop mit nimmt, dass dann auch die Passworte der Kunden wieder genutzt werden können. Mal sehen ... Viele Grüße Link to comment Share on other sites More sharing options...
eleazar Posted May 31, 2014 Share Posted May 31, 2014 (edited) Es wird mal wieder deutlich, dass hier im Deutschen Forum definitiv eine Rubrik fehlt, in der solche Beiträge sinnvoll gesammelt werden können. So etwas wie "Development" oder "Snippets" oder "Bastelecke" ,,, - ich werde mal versuchen da was anzuschieben. Na dann, viel Glück. Das hatten rumata und ich auch schon mal probiert. Mr Utterback lässt das nicht zu. Edited May 31, 2014 by eleazar (see edit history) Link to comment Share on other sites More sharing options...
Whiley Posted June 1, 2014 Share Posted June 1, 2014 Hallo Luca, Es interessiert sich scheinbar keiner für den Datenexport und Import in die neue Version. Ich glaube, dass im Moment sich nur sehr Wenige an das Abenteuer "Update auf 1.6" heranwagen. Solange kein Rechtssicherheits-Modul für Deutschland existiert wäre ein Update ja auch niemandem ernsthaft zu empfehlen. Grundsätzlich sind deine Skripte ideal zum "entmüllen" der Datenbank geeignet und das vielleicht nicht nur beim Update auf die 1.6er Version! Grüsse Whiley Link to comment Share on other sites More sharing options...
dertypausz Posted June 28, 2014 Share Posted June 28, 2014 Hallo Foris, mittlerweile habe ich alle für den sql-Import der Prestashopschnittstelle möglichen Export sql's fertig. Also zunächst für die Artikel/Produkte: SELECT a.id_product, a.active, b.name, c.categories, a.price, a.id_tax_rules_group, a.wholesale_price, a.reference, a.supplier_reference, d.name, e.name, a.ean13, a.upc, a.ecotax, a.width, a.height, a.depth, a.weight, f.quantity, a.minimal_quantity, a.visibility, a.additional_shipping_cost, a.unity, a.unit_price_ratio, b.description_short, b.description, g.tags, b.meta_title, b.meta_keywords, b.meta_description, b.link_rewrite, b.available_now, b.available_later, a.available_for_order, a.available_date, a.date_add, a.show_price, h.bild, 1 as bilder_loschen, a.online_only, a.condition, a.customizable, a.uploadable_files, a.text_fields, a.out_of_stock, b.id_shop FROM ps_product as a left outer join ps_product_lang as b on a.id_product = b.id_product left outer join (SELECT ps_category_product.id_product, GROUP_CONCAT(ps_category_lang.name) as categories FROM ps_category_product left outer join ps_category_lang on ps_category_product.id_category = ps_category_lang.id_category GROUP BY ps_category_product.id_product) as c on a.id_product = c.id_product left outer join ps_supplier as d on a.id_supplier = d.id_supplier left outer join ps_manufacturer as e on a.id_manufacturer = e.id_manufacturer left outer join (SELECT * FROM ps_stock_available where id_product_attribute = 0) as f on a.id_product = f.id_product left outer join (SELECT ps_product_tag.id_product, GROUP_CONCAT(ps_tag.name) as tags FROM ps_product_tag left outer join ps_tag on ps_product_tag.id_tag = ps_tag.id_tag GROUP BY ps_product_tag.id_product) as g on a.id_product = g.id_product left outer join (SELECT ps_image.id_product, GROUP_CONCAT('http://www.meinedomain.de/img/p/',(CASE WHEN LENGTH(ps_image.id_image)=1 THEN substr(ps_image.id_image,1,1) ELSE (CASE WHEN LENGTH(ps_image.id_image)=2 THEN CONCAT(substr(ps_image.id_image,1,1),'/',substr(ps_image.id_image,2,1)) ELSE (CASE WHEN LENGTH(ps_image.id_image)=3 THEN CONCAT(substr(ps_image.id_image,1,1),'/',substr(ps_image.id_image,2,1),'/',substr(ps_image.id_image,3,1)) ELSE (CASE WHEN LENGTH(ps_image.id_image)=4 THEN CONCAT(substr(ps_image.id_image,1,1),'/',substr(ps_image.id_image,2,1),'/',substr(ps_image.id_image,3,1),'/',substr(ps_image.id_image,4,1)) ELSE CONCAT(substr(ps_image.id_image,1,1),'/',substr(ps_image.id_image,2,1),'/',substr(ps_image.id_image,3,1),'/',substr(ps_image.id_image,4,1),'/',substr(ps_image.id_image,5,1)) END) END) END) END),'/',ps_image.id_image, '.jpg') AS bild FROM ps_image GROUP BY ps_image.id_product) as h on a.id_product = h.id_product Hier ist einmal wichtig, dass die Schnittstelle das Attribut /default_categorie/ nicht unterstützt, was für das Alter der Schnittstelle spricht. Das Attribut muß also mit Hilfe eines update nachgepflegt werden. Zusätzlich unterstützt die Schnittstelle die meisten Stammdaten wie die Steuerkonfiguration nicht. Stammdaten müssen also auch nachgepflegt werden. Nichts desto trotz ist der Artikelimport hilfreich. hmm...ich erhalte da folgende fehlermeldung: Die Tabelle "DEPENDENT-SUBQUERY" existiert nicht. Link to comment Share on other sites More sharing options...
Luca01 Posted June 28, 2014 Author Share Posted June 28, 2014 Hallo dertypausz, die sql-Abfragen sind z.B. für die phpmyadmin und nicht für den sql Manager von Prestashop.Whiley hatte das schon in einem vorherigen Post geschrieben. Es wurde hier schon festgestellt, dass der sql Manager diese Abfragen nicht verarbeiten kann weil er scheinbar nicht alle sql Codes interpretiert. Viele Grüße Link to comment Share on other sites More sharing options...
Coyotee Posted December 30, 2014 Share Posted December 30, 2014 Super! Vielen Dank fürs Teilen.Hast Du auch eine Abfrage für die Kategorien? Ich versuche gerade von 1.5 auf 1.6 upzudaten Link to comment Share on other sites More sharing options...
Coyotee Posted December 30, 2014 Share Posted December 30, 2014 Noch eine kleine Sache. Bei den Abfragen erhalte ich alles in 7-facher Ausfertigung. Also 7000 statt 1000 Produkte.Eine Idee woran das liegen könnte? Link to comment Share on other sites More sharing options...
Luca01 Posted December 30, 2014 Author Share Posted December 30, 2014 Hallo Coyotee, Hast Du auch eine Abfrage für die Kategorien? Ja, der sql ist der erste in der Liste Link to comment Share on other sites More sharing options...
Luca01 Posted December 30, 2014 Author Share Posted December 30, 2014 Bei den Abfragen erhalte ich alles in 7-facher Ausfertigung. Also 7000 statt 1000 Produkte. Ich vermute mal, das es an einen fehlenden where-Bedingung im sql liegt. Weil Deine Datenbank mehr oder anderen Inhalt in den Stammdaten hat. Genaueres könnte ich nur sagen, wenn ich einen Blick auf die Datenbank bzw. das Ergebnis hätte. Hast Du Ahnung von sql-Statments? Link to comment Share on other sites More sharing options...
Coyotee Posted January 4, 2015 Share Posted January 4, 2015 Hallo zusammen, mal eine Frage: Wie zieht ihr denn die Bestellungen um? Viele Grüße Coyotee Link to comment Share on other sites More sharing options...
eleazar Posted January 4, 2015 Share Posted January 4, 2015 Hallo zusammen, mal eine Frage: Wie zieht ihr denn die Bestellungen um? Viele Grüße Coyotee Versuch es mal so: SELECT d.id_order, os.name AS Status, d.product_name AS Produkt, d.product_price AS Preis, d.product_quantity AS Menge, d. product_weight AS Gewicht, o.payment AS Bezahlung, o.date_upd AS Datum, CONCAT_WS(' ', g.firstname, g.lastname) AS Kunde, gl.name AS Kundengruppe FROM ps_order_detail d LEFT JOIN ps_orders o ON (d.id_order= o.id_order) LEFT JOIN ps_customer g ON (o.id_customer = g.id_customer) LEFT JOIN ps_group_lang gl ON (g.id_default_group = gl.id_group) LEFT JOIN ps_order_state_lang os ON (o.current_state = os.id_order_state) GROUP BY d.id_order Und hier noch der Link für den Rechnungsexport, damit wir hier mal alles gebündelt haben: http://www.prestashop.com/forums/topic/374898-gel%C3%B6stauswertung-zur-den-rechnungen/?do=findComment&comment=1854640 1 Link to comment Share on other sites More sharing options...
Coyotee Posted January 4, 2015 Share Posted January 4, 2015 Hey danke, nur - wie bekomme ich die Daten in die Datenbank. Dafür gibt es leider kein Import Script. Link to comment Share on other sites More sharing options...
eleazar Posted January 4, 2015 Share Posted January 4, 2015 Nein, das geht auch nicht über das BO, nur direkt über PHPMyAdmin. Link to comment Share on other sites More sharing options...
Luca01 Posted January 4, 2015 Author Share Posted January 4, 2015 (edited) Hallo, wenn ein Update ansteht, habe ich in der Regel die Updatescripte von Prestashop über die Datenbank geschickt, die Datenbank mit dem mysqlDumper gesichert, Die Tabellen von Kategoriestruktur, Artikel, Kundendaten, Bestellungen usw. in einen neue Datenbank der neuen Version importiert und dann unser Theme angepasst. Fertig. Den Aufwand habe ich deswegen getrieben, weil manchmal die Struktur und die Speicherorte der Attribute in einer neuen Prestashopversion anders waren und bestimmte Inhalte plötzlich in anderen Tabellen gepflegt wurden (Versionswechsel 1.4 zu 1.5). Mit dem Import quasi "zu Fuß" habe ich dann die alten Daten an die neuen Orte geschrieben. Inhalte für die es von Version 1.5 zu 1.6 keinen Import gibt habe ich in diesem Versionswechsel nicht importiert. War auch kein Problem weil Prestashop nicht unsere Buchhaltung ist. Der Hintergund ist, dass die Adressen beim Import zwingend eine neue id erhalten und der Import der Bestellungen bei uns die Datensatzinfo zerschossen hat. Ich kann also von dem csv-Import der Adressen in Kombination mit dem Import der Bestellungen über phpmyadmin leidgeprüft nur abraten. @eleazar Versuch es mal so:und wie importierst Du dann das Ergebnis dieses sql wieder in eine andere Datenbank? Ist mir ein Rätsel Viele Grüße Edited January 4, 2015 by Luca01 (see edit history) Link to comment Share on other sites More sharing options...
eleazar Posted January 5, 2015 Share Posted January 5, 2015 Ein Rätsel ist das zwar nicht, aber ich würde es schon deswegen nicht machen, weil es viel zu umständlich wäre. Schließlich müssten ja gleich mehrere Datenbanktabellen geändert werden. Ich bevorzuge deine Lösung, zumal ja von 1.5 zu 1.6 ein einfacher Dump reicht, denn bis auf ein paar numerische Feldlängen wurde ja nichts geändert. Link to comment Share on other sites More sharing options...
schibulski Posted January 5, 2015 Share Posted January 5, 2015 Hallo Luca! Das sind wirklich ein paar sehr hilfreiche Scripts. Habe den Shop mit 1.4 gestartet und würde beim Update auf 1.6 gerne frisch anfangen. Wichtig wäre mir nur der Import des Artikelbaums (ca 6000 Kategorien) und aller Artikel inkl. Varianten. Was auch sehr wichtig wäre: Export und Import der Produktmerkmale. Hast du dazu auch ein SQL Script parat? :-))) Und wenn ich das richtig verstanden habe wäre folgende Vorgehensweise die empfehlenswerteste: 1: Version 1.5 mit dem internen Updatescript (OneClick Update) auf 1.6 updaten 2: Die benötigten Tabellen mit deinen Scripts als cvs speichern. 3. Frischen 1.6 aufsetzen 4. Stammdaten und Einstellungen anpassen 5. Tabellen über phpmyadmin reimportieren. Ist das in etwa richtig so? Link to comment Share on other sites More sharing options...
Luca01 Posted January 6, 2015 Author Share Posted January 6, 2015 Hallo schibulski, Und wenn ich das richtig verstanden habe wäre folgende Vorgehensweise die empfehlenswerteste:Nein,die Scripte sind für den Import über den prestashopeigenen csv-Import. Das Ziel ist dabei, die Datenbankstruktur neu aufzubauen. Also z.B. den Kategoriebaum neu zu berechnen und/oder die Bilderstruktur neu einzulesen. Der Import über phpmyadmin läuft indem man die Tabellen der Datenbank nimmt und die relevanten Tabellen in die neue Datenbank einliest.Viele Grüße 1 Link to comment Share on other sites More sharing options...
schibulski Posted January 6, 2015 Share Posted January 6, 2015 alles klar, hab es verstanden. Ich werde das am Wochenende direkt mal testen. Hab lange nach einem Modul gesucht was diese Aufgaben übernimmt da ich in SQL nicht so fit bin. Danke dir nochmal für die tolle Arbeit! Link to comment Share on other sites More sharing options...
sQeety Posted July 23, 2015 Share Posted July 23, 2015 Ist das noch aktuell? Ich bekomme nur einen "Checkform Fehler" :-/ Gruß, sQeety Link to comment Share on other sites More sharing options...
gschrode Posted November 15, 2016 Share Posted November 15, 2016 Hi alle, habe gleiches Problem, der Export läuft super, jedoch alles in 7 facher Ausfertigung. Ich denke das wird an der language liegen, also irgend wie eine abfrage einbauen. z.B. WHERE lang = 1 oder ähnlich, weiss jedoch nicht wo das eingetragen werden muß. Kann da einer helfen? Danke schon mal Gerd Link to comment Share on other sites More sharing options...
Lausli Posted November 15, 2016 Share Posted November 15, 2016 Welcher Export? Für Bestellungen kannst du diesen nehmen: SELECT o.`id_order` AS `ID`, o.`reference` AS `Bestellnummer`, ROUND(o.`total_products_wt`,2) AS Gesamtpreis, p.`wholesale_price` AS `Einkaufspreis`, cu.`name` AS `Währung`, c.`date_upd` AS `Datum`, c.`firstname` AS `Vorname`, c.`lastname` AS `Nachname`, ad.`address1` AS ` Empfängeradresse 1`, ad.`address2` AS ` Empfängeradresse 2`, ad.`postcode` AS `PLZ`, ad.`city` AS `Stadt`, st.`name` AS `Bundesland`, co.`name` AS `Land`, cou.`iso_code` AS `Landesvorwahl`, c.`email` AS `Kundenemail`, ad.`phone_mobile` AS `Kunde Handynummer`, p.`reference` AS `Artikel SKU`, d.`product_quantity` AS `Produkt-Menge`, o.`payment` AS `Zahlart` FROM ps_orders o LEFT JOIN `ps_order_detail` d ON (o.id_order = d.id_order) LEFT JOIN `ps_customer` c ON (o.id_customer = c.id_customer) LEFT JOIN `ps_address` ad ON(o.`id_customer`=ad.`id_customer`) LEFT JOIN `ps_state` st ON(ad.`id_state`=st.`id_state`) LEFT JOIN `ps_country_lang` co ON(ad.`id_country`=co.`id_country`) LEFT JOIN `ps_country` cou ON(ad.`id_country`=cou.`id_country`) LEFT JOIN `ps_product` p ON(d.`product_id`=p.`id_product`) LEFT JOIN `ps_currency` cu ON(o.`id_currency`=cu.`id_currency`) WHERE o.`valid` = 1 GROUP BY o.id_order,d.id_order_detail ORDER BY o.`id_order` https://www.prestashop.com/forums/topic/565992-bestellungen-exportieren-sql-manager-und-mit-excel-auswerten/ Link to comment Share on other sites More sharing options...
gschrode Posted November 16, 2016 Share Posted November 16, 2016 Hallo Lausli, danke für die schnelle Antwort, werde mir das erst mal wegspeichern, brauch ich später noch. Woran ich hänge ist die SQL Syntax für Join. der Export den ich fahren möchte ist der für Produkte. Fände das genial, gleiche Felder die der Importfilter benutzt auch für den Export zu benutzen. Zweck ist Datenpflege. Also wenn du da einen Weg weißt, wäre toll ... vg Gerd Link to comment Share on other sites More sharing options...
Lausli Posted November 16, 2016 Share Posted November 16, 2016 Naja im besten Fall gibst du für die Datenpflege die 30€ aus und nimmst nen Addon. Damit exportierst du dann alle Produkte, Varianten, Kunden, Adresse und Bestellungen. Fertig. Dann hast du nicht 5 verschiedene SQL snippets. Produkte kannst du so exportieren: https://www.prestashop.com/forums/topic/143083-how-can-i-export-my-products-to-a-csv-file/ Oder hier: https://www.prestashop.com/forums/topic/567172-von-prestashop-1619-zu-1700-testsystem-kein-produktiv-einsatz/ bzw > http://premiumpresta.com/blog/export-products-for-csv-import-prestashop-1-6/ Das sind dann alle Produkte. Die Reinfolge zwecks Import sollte stimmen. Sollte das nicht so sein, passt du das eben fix an. Link to comment Share on other sites More sharing options...
gschrode Posted November 16, 2016 Share Posted November 16, 2016 Hallo Lausli, danke für die Hinweise, mit dem fix anpassen würde ich gerne den Export von Produkten (wie Luca01 beschrieben hat) anpassen, dann hätte ich alles was ich brauche (erst mal :-)). die Addons arbeiten ja grundsätzlich auch mit ner SQL Abfrage, also finde ich den Weg von Luca01 schon optimal, direkt per PS SQL query oder myphpadmin den Import und Export zu organisieren. Ansonsten werde ich mal weiter probieren und mich mit der SQL Join hin und her Syntax beschäftigen. vg Gerd Link to comment Share on other sites More sharing options...
Lausli Posted November 16, 2016 Share Posted November 16, 2016 Verstehe ich jetzt nicht, ich habe Dir doch gezeigt, wie du Produkte exportierst. ALLE Produkte über sql query. Da musst du dann nix mehr anpassen. Link to comment Share on other sites More sharing options...
gschrode Posted November 16, 2016 Share Posted November 16, 2016 joh, das stimmt, wie ich geschrieben habe funktioniert der export auch einwandfrei, bin glücklich damit. Lediglich dass die exportierten Produkte 7 fach exportiert werde, nämlich für jede Sprache einmal. Meine Frage bezog sich darauf, wie ich eine SQL Sequenz hinzufügen kann, die nur eine Sprache exportiert. z.B. join tralala Where id_lang = 1 ich kriegs nur net hin, zu wenig Kenntnis von SQL und Join Jedöns. vg Gerd Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now