Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

объединение двух форумов в один

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 19 лет 4 месяца
Поблагодарили: 13 раз
Контактная информация:

Сообщение VVVas »

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

Код: Выделить всё

$sql = "UPDATE phpbb_posts SET " . 
   "post_id = post_id + $max_post_id," . 
   "topic_id = topic_id + $max_topic_id," . 
   "forum_id = forum_id + $max_forum_id," . 
   "poster_id = poster_id + $max_user_id";
и этом

Код: Выделить всё

$sql = "UPDATE phpbb_topics SET " . 
   "topic_id = topic_id + $max_topic_id," . 
   "forum_id = forum_id + $max_forum_id," . 
   "topic_poster = topic_poster + $max_user_id," . 
   "topic_first_post_id = topic_first_post_id + $max_post_id," . 
   "topic_last_post_id = topic_last_post_id + $max_post_id";
Как это делается и извращается в php я не знаю, но сделал после всего вот так
UPDATE `phpbb_posts` SET `poster_id` = -1 WHERE `poster_id` = $max_user_id - 1 AND `post_id` > $max_post_id;
А дальше я не думал и запустил синхронизатор автора темы от Vladson'а (искать где-то в Запросах здесь).

PS Это я ещё один форум к себе прикрутил.
я люблю daft punk | новый sugoi.ru
Аватара пользователя
blazch
phpBB 1.4.4
Сообщения: 114
Стаж: 18 лет 11 месяцев
Контактная информация:

Сообщение blazch »

Код: Выделить всё

// категории

$sql = "UPDATE phpbb_categories SET " .
   "cat_id = cat_id + $max_cat_id";

if (!$db->sql_query($sql))
{
   $res = $db->sql_error();
   die("<b>Failed:</b> $res[message]<br><b>SQL:</b> $sql");
}
выводит:
Failed: Duplicate entry '19' for key 1
SQL: UPDATE phpbb_categories SET cat_id = cat_id + 9
соотвественно вывождит пр работе с форумами и прочими таблицами...
в чем ошибка?
Аватара пользователя
blazch
phpBB 1.4.4
Сообщения: 114
Стаж: 18 лет 11 месяцев
Контактная информация:

Сообщение blazch »

VVVas не подскажешь?
Аватара пользователя
crash
Former team member
Сообщения: 6517
Стаж: 19 лет 8 месяцев
Откуда: Бердск
Поблагодарили: 15 раз
Контактная информация:

Сообщение crash »

blazch писал(а):в чем ошибка?
в дубликате
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Аватара пользователя
blazch
phpBB 1.4.4
Сообщения: 114
Стаж: 18 лет 11 месяцев
Контактная информация:

Сообщение blazch »

ну я понял что там о дубликате говорится, а как исправить. как сделать правильно?
j0cker
phpBB 1.2.0
Сообщения: 17
Стаж: 18 лет 6 месяцев

Сообщение j0cker »

А у меня задача несколько сложнее. Есть два форума версии 2.0.21, абсолютно идентичные по модам, почти одинаковые по юзерам, их правам и сообщениям. В общем один был тестово-резервной копией другого в течение полутора месяцев. За это время и там, и там зарегилось по нескольку новых юзеров, появилось по нескольку разных веток, а в совпадающих темах появились разные сообщения.
Планировалось, что тестовый вариант просто прибьем за ненадобностью, но сейчас вот возжелалось :wink: все же попытаться слить обе базы. Метод Xpert c добавлениями VVVas в общем-то такую возможность дает + какой-нить merge-мод и еще ручная работа.
Но, как мне показалось, для моего случая в методе есть лишние операции, я бы забил на слияние юзеров, к примеру, несколькими нью-аккаунтами пожертвую легко, их сообщения пусть пойдут под Гостями.
Может подскажете как поступить оптимальней? Какие-то изменения в скриптах с первой страницы внести?
Аватара пользователя
blazch
phpBB 1.4.4
Сообщения: 114
Стаж: 18 лет 11 месяцев
Контактная информация:

Сообщение blazch »

Не посчитайте за рекламу, была проблема слить два больших форума в общей сумме почти 400к сообщений... долго геморойничал а потом нашел простой выход - перешел на IPB там есть конвертер на все виды баз + легко найти склейщик такой же. .вот и все.. пол дня работы цельная база..
j0cker
phpBB 1.2.0
Сообщения: 17
Стаж: 18 лет 6 месяцев

Сообщение j0cker »

спасибо, хотя все же сочту рекламой. :) Почему именно IPB, почему бы вообще не забить на все это дело?.. тоже ж вариант. Но совет принят, еще раз благодарю.
мне видится способ примитивный и более легкий, но непрофессиональный что ли.. Во втором форуме оставить только новые и "обновленные" темы, прибить также всех повторяющихся юзверей (геморрой, но что поделать). "обновленные" темы переименовать. И вот с остатками уже производить манипуляции Xpert'a. Сообщения из переименованных и вставленных таким образом тем вклеиваются в их "прародителей Simple Merge Mod. Все правильно?
Так вот, как бы мог выглядеть скрипт, который бы сравнил таблицы двух баз, и в одной удалил бы все дубли?
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert »

blazch писал(а):легко найти склейщик такой же
Найти легко все. Вопрос только в качестве. :)
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Blessedman
phpBB 1.4.1
Сообщения: 42
Стаж: 18 лет 1 месяц
Контактная информация:

Сообщение Blessedman »

Итак. Скрипт, выдергивающий ,,,,
Ламерский вопрос - куда его нужно залить. В смысле как это сделать?
LIFECITY.TV : Христианский Битторрент Трекер. У нас можно видео скачать бесплатно !
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 19 лет 4 месяца
Поблагодарили: 13 раз
Контактная информация:

Сообщение VVVas »

руками ftp
я люблю daft punk | новый sugoi.ru
Аватара пользователя
Blessedman
phpBB 1.4.1
Сообщения: 42
Стаж: 18 лет 1 месяц
Контактная информация:

Сообщение Blessedman »

Имеется phpBB+TorrentPier © Meithar и обыкновенный phpBB 2.0.22.
Сначало появился обыкновенный формум, потом (позже) торрент трекер.
Хочу перенести с обыкновенного форума на форум-трекер: все общие темы и сообщения ( приватные-личные не нужны), всех юзеров. Повторяющие ники надо обьединить так чтобы остались именно те, кто регистрировался позже.

Помогите. Читал тему раз 10. Уже целы месяц пробую ну не вьезжаю.
LIFECITY.TV : Христианский Битторрент Трекер. У нас можно видео скачать бесплатно !
Аватара пользователя
/DiOs
Former team member
Сообщения: 1139
Стаж: 18 лет 1 месяц
Откуда: Ленинград

Сообщение /DiOs »

Blessedman писал(а):Помогите.
Чем помочь-то? Сделать? Так это в рекрутинг, второй снизу форум на главной.

Добавлено спустя 41 секунду:
Blessedman писал(а):купил себе феррари
Тем более. Не царское это дело -- в запросы к базе писать.
И если я неправ, пусть старшие товарищи поправят меня
Аватара пользователя
Blessedman
phpBB 1.4.1
Сообщения: 42
Стаж: 18 лет 1 месяц
Контактная информация:

Сообщение Blessedman »

/DiOs писал(а):Чем помочь-то? Сделать? Так это в рекрутинг, второй снизу форум на главной.
Тем более. Не царское это дело -- в запросы к базе писать.
Запрос оформил.
А до феррари пока далекою :D
LIFECITY.TV : Христианский Битторрент Трекер. У нас можно видео скачать бесплатно !
Закрыто

Вернуться в «Поддержка phpBB 2.0.x»