Mysql
 sql >> Database >  >> RDS >> Mysql

Ripristina gli ordini woocommerce

Questo caso è piuttosto complicato, perché come puoi intuire hai sicuramente in entrambi i database (nel backup e nel database effettivo) lo stesso ID ordini per ordini diversi. Quando viene effettuato un ordine, popola le tabelle del database "post", "postmeta" (e forse alcune tabelle extra relative a woocommerce che alcuni plugin di wooCommerce hanno creato).

RECUPERO DEI DATI MANCANTI :
Prima nel backup "post". tabella devi trovare tutti i "post_id" con un shop_order "post_type", a partire da una data specifica:
SELECT * FROM 'posts' WHERE 'post_date' > '2016-03-15 00:00:00' AND 'post_type' LIKE 'shop_order' ORDER BY 'post_id' ASC
(devi impostare qui la data e l'ora di inizio corrette)

Con tutti quei post_id recupererai tutti i dati relativi nella tabella "postmeta":
SELECT * FROM 'postmeta' WHERE 'post_id' > 2059 ORDER BY 'meta_id' ASC
(devi sostituire post_id "2059" dal tuo corrispondente reale... )

PREPARAZIONE DI NUOVI DATI DA INSERIRE :
Per la tabella "post", dovrai spostare tutti i diversi numeri ID per "post_id", prima di inserirli nel tuo database attuale, con nuovi valori ancora non esistenti a seconda degli ID già utilizzati dal tuo database attuale.

Per la tabella "postmeta", dovrai sostituire tutti i vecchi "post_id" con i nuovi valori appena generati nella tua tabella "post".

Dovrai mettere il tuo negozio in modalità di manutenzione per evitare nuovi ordini (ad esempio con questo Modalità di manutenzione plug-in)

Devi essere abituato a MySQL e penso che sia meglio testare tutto in una versione duplicata del tuo negozio online. Esegui backup prima di...

Saluti