Jump to content

In welchen Tabellen werden Infos bei Bestellungen gespeichert?


Recommended Posts

Hallo zusammen,

ich habe einen Prestashop Version 1.6.4 betrieben und auf Prestashop 1.7.4 hochgezogen. (1.7.4 neu Aufgebaut, 1.6.4 in 1.7.4 migriert .. läuft!).  Beide Shops im Wartungsmodus.
Jetzt habe ich "kurz" den alten Shop aktiviert und es sind noch ca. 10 neue Bestellungen rein gekommen. Wie bekomme ich diese jetzt noch aus dem alten System in das Neue? Welche Tabellen sind bei einer Bestellung betroffen bzw. wo wird content rein geschrieben?

Ich habe folgende Tabellen ermittelt und habe dort die "neuen" Datensätze von der alten in die neue DB kopiert. Unter Order wurde auch alles angezeigt, leider konnte man danach nichts mehr im Shop bestellen. Nach Kaufen Button im Shop wurde nichts angezeigt. Cache habe ich im Backoffice unter Performance gelöscht und auch den Browser frisch gemacht. 

address
customer
customer_group
customer_message
customer_message_sync_imap
customer_thread
order
order_detail ab ink. 1635
order_detail_tax
order_history
order_invoice  
order_invoice_payment
order_invoice_tax   ab  inkl1173 löschen
order_payment
order_carrier
amz_address
amz_customer
amz_orders
amz_transactions
 

Ich nutze ein anderes template, aber mit standard Bestellprozess. Nutze Amazon Schnittstelle, Zahlung per Bezahlung/ AmazonPay/ PayPal.

Gibt es eine Liste wo ich genau sehen kann in welche Tabellen geschrieben wird?

 

Link to comment
Share on other sites

Hallo zusammen,
manuell war jetzt nicht so easy, da ja erstmal alle Infos in der DB gesucht werden müssen. Per GUI bin ich nicht mehr in den Shop gekommen, da mit der neuen PHP Version nix mehr ging. aber egal. Hier meine Lösung, wie es geklappt hat.

Aus folgenden Tabellen habe ich mir die entsprechenden Daten rausgesucht mit folgendem Beispiel SQL: 

orders, order_detail, order_carrier, order_history, order_invoice, order_invoice_payment, order_payment, cart_product, cart, customer, address

SELECT * FROM `prefix_orders`  WHERE id_order IN (11902, 11903)
SELECT * FROM `prefix_order_carrier` WHERE id_order IN (11902, 11903)
SELECT * FROM `prefix_order_cart_rule` WHERE id_order IN (11902, 11903)
SELECT * FROM `prefix_order_detail` WHERE id_order IN (11902, 11903)
SELECT * FROM `prefix_order_detail_tax` where id_order_detail IN (16040, 16401)
SELECT * FROM `prefix_order_history` WHERE id_order IN (11902, 11903)
SELECT * FROM `prefix_order_invoice` WHERE id_order IN (11902, 11903)
SELECT * FROM `prefix_order_invoice_payment` WHERE id_order IN (11902, 11903)
SELECT * FROM `prefix_order_invoice_tax` where id_order_invoice IN (11707, 11805)
SELECT * FROM `prefix_order_payment` where order_reference IN ('MDBTVRWNY', 'GEGWWWJSB')
SELECT * FROM `prefix_cart` where id_cart IN (21609, 21702)
SELECT * FROM `prefix_cart_product` where id_cart IN (21609, 21702)
...
...

Dann aus der Ziel DB je die höchste ID rausgesucht:

id_cart  => 23101
id_order => 12504
id_order_carrier => 12505
id_order_detail => 17104
id_order_invoice => 12209
id_customer => 13902
id_address => 18401
id_order_payment => 12606
id_order_history => 38408

Dann im SQL die ID's je, ab rausgesuchter ID + 1hoch setzen. 
z.B. id_cart in alter DB = 21002, dann mit suchen ersetzen in allen Inserts mit  23102 ersetzen. 

Und jetzt noch die Daten in die Ziel DB einspielen.

Klar, da muss man schon wissen was man tut und die Datenstruktur durchblicken. Aber wenn man es richtig macht, klappt es 🙂 

Grüße

Link to comment
Share on other sites

Zumindest die Syntax stimmt nicht, und was daher ein Befehl wie

SELECT * FROM `prefix_orders`  WHERE id_order IN ( ...

bewirken soll außer einer Fehlermeldung, ist mir nicht klar.

Im übrigen wäre es wohl wirklich mit einer Neuerfassung der 10 Bestellungen aus dem BO heraus schneller gegangen. Denn was du da vorschlägst scheint mir selbst bei korrekter Syntax viel zu umständlich zu sein. Da wäre ja ein CSV-Export und -Import wesentlich einfacher gewesen. Und den hätte man problemlos über das Back Office erledigen können.

Link to comment
Share on other sites

Moin,

ich wollte nur darlegen welche Tabellen und welche IDs relevant sind. Falls es verwirrt, kann ich die simple Beispiel sql gerne Löschen.
Mir hätte das zumindest so geholfen und daher hab ich das mal hier gepostet ;-)

Die Aufträge erfassen ging ja nicht, weil ich in das alte System nicht mehr rein gekommen bin und nur die DB zur Einsicht hatte. Zum Manuell erfassen muss ich mir ja auch erst einmal alles aus den Tabellen raus suchen um zu wissen was ich eintragen muss. Wurde schon bezahlt, wenn ja wie ...  Und der Kunde sollte ja die gleiche Betsell/RG Nummer behalten ... also für mich war manuell erfassen keine Lösung.

Danke für Euren Support! 
Grüße Ingo

Link to comment
Share on other sites

  • 1 year later...

Hallo @ALL, kann mir jemand im Detail sagen welche Tabellen ich aktualisieren muss um bei der Ausweisung/Erstellung der Rechnung die richtige MWst andrucken zu können. Ich kenne die ID's der tax bzw. tax group und bei Land DEU wird diese einfach nicht gesetzt id=0 (die Steuerregeln greifen einfach nicht/anderes Topic) die Werte werden aber zumindest beim Amazon Import richtig übertragen somit müsste ich jetzt mal nur ein Update der ID's und VAT Values dieser Aufträge durchführen damit die Rechnungen auch richtig ausgewiesen werden während ich an der Wurzel des Problems arbeite. Bitte um Feedback an Hand eines Beispiels. Danke!

*** XYZ_order_detail
where EgmdZ_order_detail.id_order in (10001,10002) 

*** XYZ_order_detail_tax
where EgmdZ_order_detail_tax.id_order_detail in (10001,10002) 

*** XYZ_order_invoice
where EgmdZ_order_invoice.id_order in (10001,10002) 

*** XYZ_order_detail_tax
where EgmdZ_order_detail_tax.id_order_detail in (10001,10002)  

was ist mit der
*** XYZ_order_invoice_tax 
where EgmdZ_order_invoice_tax.id_order_invoice=23816

Edited by BAUGURU (see edit history)
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...