Импортировать резервную копию WordPress - только восстановить недостающие сообщения? - PullRequest
1 голос
/ 28 ноября 2010

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

Теперь у меня есть несколько полных резервных копий сайта в виде файлов SQL.Одна пропущенная статья там.Однако мы не знаем точно, какие статьи пропали без вести.

Я только хочу восстановить отсутствующие статьи.Не восстановить весь сайт.Текущие статьи не должны быть удалены!

Какой лучший способ добиться этого?Импортировать его в другую базу данных и как-то сравнить wp_posts?Спасибо, ребята!

Ответы [ 2 ]

2 голосов
/ 28 ноября 2010

Вы можете создать временную базу данных,
и импортировать в нее свою последнюю резервную копию.
После этого выполните

INSERT IGNORE INTO your_live_data.wp_posts 
SELECT * FROM temporary_database.wp_posts WHERE user_id=xxx

Хитрость IGNORE игнорирует, чтобы перезаписать любые существующие элементы,
, что означает вставку только пропущенных сообщений.

ПРИМЕЧАНИЕ: вы должны заменить все связанные таблицы, а не только wp_posts

0 голосов
/ 28 ноября 2010

Хмммм .... Это может быть сложно, потому что есть комментарии, теги, категории и т. Д. И т. Д., Но я бы сделал это так, но не проверял:

  1. сначала загрузите старую резервную копию во временную базу данных, возможно, локально, чтобы ускорить процесс
  2. затем сделайте обратное: удалите всех других пользователей (но затем пользователей <> пользователей, которых она удалила) и сопровождающих их сообщений: теоретически эта база данных теперь будет содержать только статьи удаленных пользователей
  3. Экспортируйте это как XML с надеждой на комментарии и т.д ..
  4. проверить содержимое xml
  5. импорт в оперативную базу данных и назначение пользователю N

p.s. возможно стоит опубликовать на https://wordpress.stackexchange.com/ !!

...