Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
Один пользователь потребовал чтобы его удалили. Удаление было произведено, теперь он просит впилить его обратно. Сейчас его сообщения видны, но его ник неактивен. Можно ли как-то его ник оживить, чтобы он ассоциировался со всеми его минувшими сообщениями?
Offline
@Luca, если в таблице posts поле poster_id в его сообщениях не равно 1, то достаточно добавить его в таблицу users с этим номером.
Если же поле poster_id в его сообщениях = 1, то регистрируй его, смотри его новый номер и прописывай его во всех сообщениях этого пользователя.
З.Ы. А вообще, на фиг его с выкрутасами
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Пользователя впилил по второму методу. Только почему-то теперь не верно отображается количество сообщений http://pic2net.ru/view/v/960d0f844c7beb … 69a3c7.jpg
Offline
Зайди в админке в плагин Not Sum и просто нажми кнопку Сохранить изменения.
Он пересчитает посты всем юзерам на форуме.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
@Visman, спасибо, помогло!
Offline
Новый вопрос. Один человек воспользовавшись правами удалил свою учетную запись вместе со всеми сообщениями. Полетело несколько тысяч сообщений и куча тем. Хочу вытащить все это из бекапа и впилить обратно. Подскажите, как это можно сделать?
Редактировался Luca (2011-06-05 21:41:55)
Offline
@Luca, в бэкапе
1. Выясни номер этого человека в users.
2. Получить все номера тем юзера (они наверняка удалены)
SELECT t.id FROM topics as t, posts as p WHERE p.poster_id=НОМЕР ЮЗЕРА AND p.id=t.first_post_id
3. удалить все темы, которые не попали в темы юзера
4. удалить все посты, которые не попали в темы юзера и не являются постами юзера, т.е. останутся не только посты этого человека, но и все посты сторонних людей из его тем
Получившиеся таблицы posts и topics слить с рабочими.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
я бы пошел "инкрементальным" путем:
- выяснил дату последнего поста в бекапе
- сохранил из актуальной базы все темы и посты с возрастом младше указанной
- восстановил из бекапа
- добавил сохраненное на втором шаге
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Offline
А я бы решил задачу непосредственно, при условии, что темы и сообщения не перенумеровывались:
Восстановил бы таблицу из резервной копии под другим именем.
Пройдя по таблицам тем и сообщений, добавил бы те сообщения и темы нужного авторства, которые отсутствуют в целевой таблице.
Проверка на присутствие делается внешним объединением или через not exists.
Offline
Страницы 1