sql >> Base de Datos >  >> RDS >> Mysql

Restaurar pedidos de woocommerce

Este caso es bastante complicado, porque como puede adivinar, ciertamente tiene en ambas bases de datos (en su base de datos real y de respaldo) la misma identificación de pedidos para diferentes pedidos. Cuando se realiza un pedido, se llenan las tablas de la base de datos "post", "postmeta" (y tal vez algunas tablas adicionales relacionadas con woocommerce que han creado algunos complementos de wooCommerce).

RECUPERACIÓN DE LOS DATOS QUE FALTAN:
Primero en "publicar" copia de seguridad table tienes que encontrar todos los "post_id" con un shop_order "post_type", a partir de una fecha específica:
SELECT * FROM 'posts' WHERE 'post_date' > '2016-03-15 00:00:00' AND 'post_type' LIKE 'shop_order' ORDER BY 'post_id' ASC
(debe establecer la fecha y la hora de inicio correctas aquí)

Con todos esos post_id va a recuperar todos los datos relacionados en la tabla "postmeta":
SELECT * FROM 'postmeta' WHERE 'post_id' > 2059 ORDER BY 'meta_id' ASC
(tienes que reemplazar post_id "2059" por su correspondiente real... )

PREPARANDO NUEVOS DATOS PARA INSERTAR:
Para la tabla de "publicaciones", tendrá que cambiar todos los números de ID diferentes para "post_id", antes de insertarlos en su base de datos real, con valores nuevos que aún no existen, dependiendo de las ID ya utilizadas por su base de datos real.

Para la tabla "postmeta", tendrá que reemplazar todos los "post_id" antiguos con los nuevos valores recién generados en su tabla "publicaciones".

Deberá poner su tienda en modo de mantenimiento para evitar nuevos pedidos (por ejemplo, con este Modo de mantenimiento complemento)

Tienes que estar acostumbrado a MySQL y creo que es mejor probar todo en una versión duplicada de tu tienda web. Haz copias de seguridad antes de…

Saludos