Реальная проблема
-
- phpBB 2.0.11
- Сообщения: 810
- Стаж: 19 лет 4 месяца
- Откуда: Ставрополь
- Забанен: Бессрочно
Реальная проблема
Помогите мне поэжалуйста.
Вот что случилось.
Моя (теперь уже) бывшая модераторша, без моего ведома удалила несколько тем из своего раздела. Их нужно восстановить.
Есть бэкап базы данных.
Если есть желание и возможность, то подробней расскажите как это дело восстановить.
Вот что случилось.
Моя (теперь уже) бывшая модераторша, без моего ведома удалила несколько тем из своего раздела. Их нужно восстановить.
Есть бэкап базы данных.
Если есть желание и возможность, то подробней расскажите как это дело восстановить.
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
Берется бекап... выливается в базу. Если помнишь id темы - очень хорошо. Если нет - ищешь по текстам постов или заголовкам тем. Потом удаляешь из таблицы тем все кроме нужных, из таблицы сообщений - все кроме данных нужных сообщений. Потом экспортируешь эти данные. Затем вливаешь в таблицы действующего форума. После этого надо будет число сообщений участников пересчитать.
P.S. "Реальное" у темы название однако... говорящее...
P.S. "Реальное" у темы название однако... говорящее...
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- phpBB 2.0.11
- Сообщения: 810
- Стаж: 19 лет 4 месяца
- Откуда: Ставрополь
- Забанен: Бессрочно
-
- Former team member
- Сообщения: 1139
- Стаж: 19 лет 2 месяца
- Откуда: Ленинград
NCom
Для начала -- поднять еще одну базу, куда и раскрыть бэкап. То есть можно и прямо в бэкапе копаться, но поскольку задан вопрос -- значит, не проще
Можно и форум поднять, можно через phpmyadmin (frontend, ... -- любой интерфейс) искать. Находим (глазками) удаленные темы (названия). Идем в морду базы. В таблице <>topics (<> -- префикс, какой у вас выбран) находим (по заголовкам) эти темы и запоминаем их topic_id. Делаем запрос
и так для каждого topic_id (можно и в один запрос, тогда перечислить условия через or). Этим мы найдем ID постов в удаленных топиках. Теперь в бэкапе (сохранив копию) удаляем упомянания о всех таблицах и данных, кроме <>topics, <>posts, <>posts_text. В запросах восстановления данных (insert into table...) оставляем:
- для <>topics -- только строки с нужным topic_id (первое значение во вставке);
- для <>posts и <>posts_text -- только строки с нужными post_id (опять же первые значения в insert).
Теперь, сделав бэкап боевой базы, заливаем его в тренировочную и приживляем наш обкоцаный бэкап. Если все пучком -- повторяем на боевой базе.
"И если я неправ, пусть старшие товарищи поправят меня" (С)
Разумеется, можно и на перловке скрипт написать для парсенья бэкапа, и на php (или перловке же) просто написать код, выгоняющий в бэкап только нужные строки...
Для начала -- поднять еще одну базу, куда и раскрыть бэкап. То есть можно и прямо в бэкапе копаться, но поскольку задан вопрос -- значит, не проще

Код: Выделить всё
select post_id from <>posts where topic_id=...
- для <>topics -- только строки с нужным topic_id (первое значение во вставке);
- для <>posts и <>posts_text -- только строки с нужными post_id (опять же первые значения в insert).
Теперь, сделав бэкап боевой базы, заливаем его в тренировочную и приживляем наш обкоцаный бэкап. Если все пучком -- повторяем на боевой базе.
"И если я неправ, пусть старшие товарищи поправят меня" (С)
Разумеется, можно и на перловке скрипт написать для парсенья бэкапа, и на php (или перловке же) просто написать код, выгоняющий в бэкап только нужные строки...
И если я неправ, пусть старшие товарищи поправят меня
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
-
- phpBB 2.0.11
- Сообщения: 810
- Стаж: 19 лет 4 месяца
- Откуда: Ставрополь
- Забанен: Бессрочно
-
- phpBB 2.0.11
- Сообщения: 810
- Стаж: 19 лет 4 месяца
- Откуда: Ставрополь
- Забанен: Бессрочно
этим и занимаюсь
Добавлено спустя 42 минуты 44 секунды:
так....голова раскалывается. вроде что-то сделал, но не знаю, так ли и что дальше
вот что есть
искал 3 темы, вот вроде с этиби таблицами разобрался. Если что не так скажите.
Добавлено спустя 42 минуты 44 секунды:
так....голова раскалывается. вроде что-то сделал, но не знаю, так ли и что дальше
вот что есть
Код: Выделить всё
INSERT INTO `*****_topics` VALUES
(262, 49, 'Удачливый челоVек', 6, 1131574976, 1204, 108, 0, 0, 0, 3254, 7519, 0, 0, 0, NULL, NULL, NULL, 0, NULL),
(448, 49, 'Что хорошего с вами случилось сегодня?', 115, 1135233447, 685, 87, 0, 0, 0, 4254, 7301, 0, 0, 0, 0, 0, 0, 0, ''),
(328, 49, 'Хорошо и плохо.', 12, 1132400825, 202, 7, 1, 0, 0, 3495, 4484, 0, 0, 0, 0, 0, 0, 0, ''),
INSERT INTO `******_posts_text` VALUES
(3254, '4f49a78bee', 'Удачливый челоVек', '[size=18:4f49a78bee][b:4f49a78bee]Вот, ПРАВИЛА![/b:4f49a78bee][/size:4f49a78bee]\r\n\r\nНачинаем отсчет, например, от 100 - и вниз 99....98...97 и у кого останеться 0 тот и выйграл.. \r\nВ качестве приза..... короче поюедитель будет включен в группу СЧАСТЛИВЧИК.\r\n\r\nЯ начну.\r\n\r\n[color=darkred:4f49a78bee][size=24:4f49a78bee]100[/size:4f49a78bee][/color:4f49a78bee]'),
(3495, '6b7120e0cb', 'Хорошо и плохо.', 'Правила:\r\n\r\n\"хорошо\" и \"плохо\" должны чередоваться. Т.е. первый участник утверждает, что \"хорошо\", а следующий, что \"плохо\"; третий - снова \"хорошо\" и т.д.\r\n\r\nструктура постов должна быть примерно следующей:\r\n1) пишется что именно хорошо или плохо\r\n2) обосновывается это\r\n\r\nследующий участник на обоснование пишет противоположность и снова обосновывает это\r\n...\r\nвобщем, на примере будет понятнее:\r\n\r\n- Когда гуляешь, это хорошо, потому что много двигаешься.\r\n- Когда много двигаешься это плохо, потому что можно устать.\r\n- Когда устаешь это хорошо, потому что после крепко спишь.\r\n- Когда крепко спишь это плохо, потому что можно проспать.\r\n(подключайтесь!)'),
(4254, 'd6b1ac5cf0', 'Что хорошего с вами случилось сегодня?', 'О чем писать? Да обо всем хорошем и позитивном, что с тобой сегодня случилось.'),
-
- Former team member
- Сообщения: 1139
- Стаж: 19 лет 2 месяца
- Откуда: Ленинград
-
- phpBB 2.0.11
- Сообщения: 810
- Стаж: 19 лет 4 месяца
- Откуда: Ставрополь
- Забанен: Бессрочно
-
- Former team member
- Сообщения: 4463
- Стаж: 20 лет 5 месяцев
- Поблагодарили: 1 раз