Восстановить заказы woocommerce

Недавно моя серверная команда заменила мою базу данных и поместила нашу предыдущую базу данных. Таким образом, мы потеряли детали нашего заказа на один день [конкретный день]. Теперь серверная команда предоставляет резервную копию, которая содержит сведения о потерянном дневном заказе.

А теперь скажите, как мне восстановить эти заказы?

Я не могу заменить нашу базу данных данной резервной копией, потому что сегодня также у нас есть заказы.

Может кто подскажет пошаговую инструкцию?

Я создал новую базу данных и загрузил резервную копию. Я понимаю, что порядок сохраняется в wp_posts, и отправляю мета.

Итак, что мне нужно делать? , я экспортирую весь порядок в эту дату из wp_posts и отправляю мета как файл sql. Тогда просто нужно импортировать его в текущую базу данных? Это создает проблемы?


person Community    schedule 26.03.2016    source источник
comment
Если вы не уверены в WP и MySQL и не хотите портить свою базу данных, я предлагаю вам поискать разработчика, который сделает это за вас.   -  person Reversal    schedule 26.03.2016
comment
Я уверенный друг. Но мне нужно убедиться и получить предложения от других. Друг, вы решаете ту же проблему? поделитесь, пожалуйста, своей идеей.   -  person    schedule 26.03.2016
comment
Вы можете выбрать все строки из резервной таблицы, которых нет в вашей основной таблице, а затем вставить их. Отметьте здесь: stackoverflow.com/questions/2686254/   -  person Reversal    schedule 26.03.2016
comment
На самом деле спасибо, друг. Но выполняли ли вы эту операцию в базе данных WordPress раньше?   -  person    schedule 26.03.2016
comment
И перед любой операцией сохраните новую резервную копию базы данных. Нет, я никогда не восстанавливал содержимое таблицы wp.   -  person Reversal    schedule 26.03.2016


Ответы (1)


Этот случай довольно сложен, потому что, как вы можете догадаться, в обеих базах данных (в вашей резервной и фактической базах данных) один и тот же идентификатор заказов для разных заказов. Когда заказ сделан, он заполняет таблицы базы данных «post», «postmeta» (и, возможно, некоторые дополнительные таблицы, связанные с woocommerce, которые были созданы некоторыми плагинами wooCommerce).

ВОССТАНОВЛЕНИЕ ОТСУТСТВУЮЩИХ ДАННЫХ:
Сначала в таблице «post» backup вы должны найти все «post_id» с shop_order «post_type» , начиная с определенной даты:
SELECT * FROM 'posts' WHERE 'post_date' > '2016-03-15 00:00:00' AND 'post_type' LIKE 'shop_order' ORDER BY 'post_id' ASC
(здесь необходимо указать правильную дату и час начала)

Со всеми этими post_id вы собираетесь получить все связанные данные в таблице "postmeta":
SELECT * FROM 'postmeta' WHERE 'post_id' > 2059 ORDER BY 'meta_id' ASC
(вам нужно заменить post_id " 2059 "вашим соответствующим настоящим…)

ПОДГОТОВКА НОВЫХ ДАННЫХ ДЛЯ ВСТАВКИ:
Для таблицы "posts" вам нужно будет сдвинуть все различные идентификационные номера для "post_id", прежде чем вставлять их в вашу фактическую базу данных, с новыми еще не существующими значения в зависимости от идентификаторов, уже используемых вашей реальной базой данных.

Для таблицы «postmeta» вам нужно будет заменить все старые «post_id» новыми значениями, только что созданными в вашей таблице «posts».

Вам придется перевести свой магазин в режим обслуживания, чтобы избежать новых заказов (например, с помощью этого бесплатного плагин режима обслуживания)

Вы должны привыкнуть к MySQL, и я думаю, что лучше все протестировать в дублированной версии вашего интернет-магазина. Создавать резервные копии перед…

ИЗМЕНИТЬ

Ваш веб-сайт и ваша база данных довольно тяжелые, как вы говорите в этом wordpress.stackexchange post 10 Гб для вашего веб-сайта и 2 Гб для базы данных.

САМЫЙ БЫСТРЫЙ И ЛЕГКИЙ СПОСОБ:
Так что может быть лучшим вариант - создать новую базу данных на том же сервере, импортируя резервную копию с пропущенными заказами. После этого вы можете выполнить следующие действия.
1) Переведите свой интернет-магазин в режим обслуживания (например, с помощью этого бесплатного плагин режима обслуживания).
2) Сделайте резервную копию своей базы данных (на всякий случай).
3) в файле wp-config. php измените базу данных (на старую с пропущенными заказами).
4) Немедленно активируйте и включите плагин Режим обслуживания.
5) Установите плагин WooCommerce Simply Order Export и включите его.
6) Экспортируйте данные о недостающих заказах за один день в виде файла CSV или XML.
7) в файле wp-config.php измените базу данных (на фактическую со всеми новыми заказами).
8) Включите WooCommerce Simply Order Export и импортируйте файл CSV (или XML).
8) Отключите плагины WooCommerce Simply Order Export и Режим обслуживания (и удалите их, если хотите).

Готово!
Спасибо Мехулу Гохилу в этом сообщении

С Уважением

person LoicTheAztec    schedule 27.03.2016
comment
Извините, друг за очень поздний ответ. Ответ, который вам дадут, будет лучшим. Ответ Мехула Гохила также будет таким же. спасибо @Mehul Gohil - person ; 11.10.2016
comment
Как я могу импортировать CSV с помощью WooCommerce Simply Order Export? Этот плагин может только экспортировать заказы ... не импортировать ?! - person user6573193; 03.05.2017