Как восстановить единичную тему из старой копии базы форума?

Board index phpBBex 1.x Поддержка

Description: У вас проблемы с phpBBex 1.x и вам необходима помощь? Спрашивайте здесь!
Forum rules: Одна тема — один вопрос или группа связанных вопросов. Обязательно формируйте внятный заголовок, максимально отражающий суть вопроса. Подробно описывайте проблему. Не забудьте указать версию phpBBex и какие моды установлены, по возможности добавьте скриншоты проблемы или ссылку на страницу с проблемой.
Moderator: Поддержка

Post #1by rvszap » 17.10.2013, 23:31

Собственно вопрос, в том, возможно ли восстановить одну тему из старой базы и что для этого нужно сделать. А потом вернуть все в сегодняшнее число.
rvszap
Topic author, Мастер
Reputation: 6
With us: 4 yaers 3 months

Post #2by RuRupert » 18.10.2013, 01:17

Не очень понятно сформулирован вопрос.

Восстановить возможно, только придется повозиться немного и разобраться, где что в базе лежит. Мне кажется, вполне можно разобраться в таблицах самостоятельно, названия у них вполне логичные. Поищите таблицы с постфиксами _topics, _posts - это практически всё, что Вам понадобится. Вопрос был о восстановлении темы - она была удалена вместе с сообщениями? Если да, то придётся восстанавливать и то и другое. Наиболее неочевидная вещь - это изменение времени сообщений, это время в базе хранится не в формате гг:дд:чч:мм (есть там такой параметр post_time у каждого поста). Но тоже легко решается - достаточно найти в базе сообщения с похожими по времени датами и взять числа оттуда. Хотя не понятно, что подразумевалось под словами "А потом вернуть все в сегодняшнее число."

Мне кажется, проще будет не ковыряться в базе, а выгрузив копию базы на локалку, взять оттуда нужные данные - название темы, авторов, посты и создать их точные копии на работающем форуме от лица админа, а потом поменять авторство темы и сообщений. Получится копия того что было удалено, только с сегодняшним числом. Если нужно что б было в точности как до удаления - придётся лезть в базу и руками "состаривать" восстановленные посты и тему. Задача чуть-чуть усложнится, если в удаленной теме были сообщения с вложениями.

p.s. Рекомендую подождать ответов от гуру на свой вопрос, лучше когда есть несколько советов :smile:
RuRupert M
Мастер
Age: 30
Reputation: 60
With us: 4 yaers 4 months

Post #3by rvszap » 18.10.2013, 01:23

RuRupert wrote:Хотя не понятно, что подразумевалось под словами "А потом вернуть все в сегодняшнее число."
Спасибо за ответ. Я имел ввиду, что если просто подлить базу двухдневной давности, где есть нужная мне тема, то исчезнут данные за последние два дня, что не желательно. Вот и получается, что нужно просто из старой базы вытащить эту одну тему, а как не знаю.
rvszap
Topic author, Мастер
Reputation: 6
With us: 4 yaers 3 months

Post #4by RuRupert » 18.10.2013, 12:06

Я Вам предложил самый простой вариант, если удаленная тема не очень большая, можно вручную восстановить прямо на работающем форуме - и тему и сообщения от лица админа, поменяв после этого авторство постов - пользователи их писавшие ведь никуда не делись с форума? это делается за два клика из панели модератора. Останется только залезть в базу и поменять даты создания сообщений на те, что были в удаленной теме. Получится, чем больше была удаленная тема, тем больше с ней будет возни т.к. время придется менять у каждого сообщения темы, что бы привести к старому виду.

Для очень больших тем и для облегчения себе жизни, скорее всего восстановление можно сделать другим способом - только через базу, выбрав из резервной копии тему и её сообщения - у сообщений есть уникальный идентификатор, определяющий связь с темой - по этому параметру можно сделать выборку из базы и перенести её в свежую версию.

Хотя может быть всё, что я насоветовал - кажется написанным на китайском языке? :smile:
RuRupert M
Мастер
Age: 30
Reputation: 60
With us: 4 yaers 4 months

Post #5by VEG » 18.10.2013, 23:42

Восстановить возможно. Но понадобятся навыки работы с БД. Либо вариант, приведённый RuRupert попробуйте.

Вариант с копированием темы через базу:
1. Залейте старый дамп базы с нужной темой в другую БД
2. В таблице phpbb_topics найдите вашу тему, запомните её topic_id
3. Выполните запрос, подставив вместо 123 ваш topic_id:
Code: Select all
SELECT * phpbb_posts WHERE topic_id = 123
4. Ну а теперь нужно перенести в базу вашего форума строку темы из phpbb_topics и выведенные посты из phpbb_posts
5. Сразу скажу, что если у вас в этом нет опыта, в базу рабочего форума не лазьте, делайте всё на локальной копии форума, иначе рискуете сделать что-то не так и всё потерять
С наилучшими пожеланиями, Евгений
VEG M
Администратор
Avatar
Age: 29
Location: Минск, Беларусь
Reputation: 1573
With us: 5 years 2 months

Post #6by rvszap » 19.10.2013, 00:15

Капец. Та ну ее ту тему. :hi: :smile:, ну может людям эта информация будет полезна.
rvszap
Topic author, Мастер
Reputation: 6
With us: 4 yaers 3 months

Post #7by dipol » 03.05.2015, 00:37

Эээ )) снекрофилю. Нерадивый модератор грохнул тему пользователя. Тема и сам пост имеются в наличии (те это все есть в админке).

Осталась ссылка на этот пост такого вида: http://forum-33.ru/viewtopic.php?p=2780#p2780

Собственно если пользователь повторно создаст тему и пост (!!! Никто пока ничего не писал еще), есть возможность присвоить теже идентификаторы этой теме и посту? Т.к. ссылка уже расползлась, а бэкап каждые 3 мин не делается.

Заранее спасибо.

ПС - надо будет типа КОРЗИНЫ что ли сделать для модеров ))

*****

upd ))

1. залез в БД
2. нашел номер нового поста post_id=2781 b и заменил его на предыдущий номер post_id=2780

Image

3. И еще в паре мест поменял. Чтобы там на главной нормальная ссылка была и в профиле пользователя по поиску его сообщений.

Все пока стало нормально. )) вроде :biggrin:
Last edited by dipol on 03.05.2015, 02:09, edited 1 time in total.
http://forum-33.ru | phpBBex 1.9.1
dipol M
Мастер
Avatar
Reputation: 21
With us: 2 yaers 7 months

Post #8by Sumanai » 03.05.2015, 01:23

Нужно было перед добавлением уменьшить счётчик auto_increment таблиц постов и топиков до нужного.
dipol wrote:ПС - надо будет типа КОРЗИНЫ что ли сделать для модеров ))
В 3.1 это есть. На 3.0 есть мод, ищите в моих темах, я адаптировал.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1578
With us: 4 yaers 4 months

Post #9by dipol » 03.05.2015, 02:08

Sumanai wrote:В 3.1 это есть. На 3.0 есть мод, ищите в моих темах, я адаптировал.
У меня пока phpbbex 1.8.0 еще стоит. Пока создал скрытый "Служебный раздел" для админов и модеров и там отдельно Архив-Корзина, вот на случай когда еще не понятно удалить или нет, но в общий доступ не светить. Ну или для принятия коллективного решения административно-модерского состава относительно какой спорной темы.
http://forum-33.ru | phpBBex 1.9.1
dipol M
Мастер
Avatar
Reputation: 21
With us: 2 yaers 7 months


Return to Поддержка



Who is online (over the past 10 minutes)

Users browsing this forum: 1 guest