Надо слить две базы в единый форум - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

Надо слить две базы в единый форум

#1 Пользователь не на сайте   f2065 ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 52
  • Регистрация: 16-Ноябрь 16
  • Репутация: 4
  • IPB version:3.4.x
 

Отправлено 02 Февраль 2017 - 12:08

Есть два форума, оба доведены до версии 3.4.9, надо их слить в один.
При помощи IP Converters это вроде бы успешно получилось, но…


1. Не очень понятно что происходит с одноимёнными пользователями. В принципе большинство одноимённых пользователей - реально один пользователь и их надо тоже объединять.
Но наверняка есть и разные одноимённые пользователи, и их объединять нельзя.
IP Converters очевидно объединяет пользователей по email, но как он поступает если имя одинаковое но email разный?


2. В постах было много URL-ссылок на соседние топики/посты/пользователей - старый_форум/index.php?showtopic=XXXXX&p=YYYYY, showuser=ZZZZZ, и т.п.
При переносе второго форума в первый - ID постов и пользователей стали разумеется новые (т.к. такие номера уже были заняты в первой базе), но в постах - все ссылки остались на старые адреса со старыми ID.
Домен то я могу в ссылках изменить при помощи поиска и замены в SQL-дампе, но вот изменить старые ID на новые - я не представляю как.
Что делать?

Если при переносе индексы во всех ID постов/юзеров увеличиваются линейно и в том же порядке - то есть мысль написать программу которая находит в перенесённой части базы все URL-ссылки на старые ID и увеличивает их… Но наверняка ведь есть какие-то готовые решения?
0

#2 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 496
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 014
  • IPB version:I have no IPB
 

Отправлено 02 Февраль 2017 - 14:02

Просмотреть сообщениеf2065 сказал(а):

Не очень понятно что происходит с одноимёнными пользователями

Смотрите логи в папке cache. Название файла начинается с converter_error_log_

2. Данные есть в таблицах, названия которых начинаются с conv_.
1

#3 Пользователь не на сайте   f2065 ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 52
  • Регистрация: 16-Ноябрь 16
  • Репутация: 4
  • IPB version:3.4.x
 

Отправлено 03 Февраль 2017 - 00:52

Просмотреть сообщениеnewbie 02 Февраль 2017 - 14:02 сказал(а):

2. Данные есть в таблицах, названия которых начинаются с conv_.
Да, есть там это. Запрос типа SELECT ipb_id FROM b_conv_link_topics WHERE foreign_id=старый_ID - выводит новый ID топика и т.п.

А есть какие-то готовые инструменты для правки всех ID в ссылках на посты/топики/пользователей?
Раз в БД эти таблицы есть - то очевидно их кто-то использует?
0

#4 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 496
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 014
  • IPB version:I have no IPB
 

Отправлено 03 Февраль 2017 - 11:30

Просмотреть сообщениеf2065 сказал(а):

А есть какие-то готовые инструменты для правки всех ID в ссылках на посты/топики/пользователей?

Не встречал.

Просмотреть сообщениеf2065 сказал(а):

Раз в БД эти таблицы есть - то очевидно их кто-то использует?
В папке Tools, что идет с конвертерами, есть скрипты-редиректы для различных cms
0

#5 Пользователь не на сайте   f2065 ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 52
  • Регистрация: 16-Ноябрь 16
  • Репутация: 4
  • IPB version:3.4.x
 

Отправлено 03 Февраль 2017 - 12:28

Просмотреть сообщениеnewbie 03 Февраль 2017 - 11:30 сказал(а):

Не встречал.
А как же люди сливают два форума в один? Так и оставляют кривые ссылки в постах перенесённых со старого форума? Ведь практически на любом форуме есть URL-ссылки на посты…

Просмотреть сообщениеnewbie 03 Февраль 2017 - 11:30 сказал(а):

В папке Tools, что идет с конвертерами, есть скрипты-редиректы для различных cms
Я не очень понимаю как эти скрипты использовать, куда их надо подключать и как…
Но главное - я там не вижу сриптов для самой IPB. Там всё для других систем (Links - vBulletin 5, Links - XenForo, Links - phpBB и т.п.), а у меня то оба форума на IPB.

Сообщение изменено: f2065 (03 Февраль 2017 - 12:28)

0

#6 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 496
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 014
  • IPB version:I have no IPB
 

Отправлено 04 Февраль 2017 - 10:28

Просмотреть сообщениеf2065 сказал(а):

А как же люди сливают два форума в один?

Нужно у них спросить.
Может устанавливают реврайты в htaccess, может отлавливают ссылки в php-скриптах, может на старом форуме делают редирект на php-файл на новом, где проверяют ссылки.

Основная задача конвертера - преобразование форума на платформе, отличной от ipboard, в ipboard.
Вот свежий пример http://ipbskins.ru/f...pic13638.html/. Кто виноват, что ips не подумали про ваши ссылки в постах :)
0

#7 Пользователь не на сайте   f2065 ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 52
  • Регистрация: 16-Ноябрь 16
  • Репутация: 4
  • IPB version:3.4.x
 

Отправлено 04 Февраль 2017 - 21:39

Просмотреть сообщениеnewbie 02 Февраль 2017 - 14:02 сказал(а):

2. Данные есть в таблицах, названия которых начинаются с conv_.
А там я что-то не вижу ID пользователей… Только ID постов, тем, и вроде бы ЛС.
Ничего похожего на ID пользователей нет.

И как править в таком случае ссылки вида /showuser.php ?

Разве что превращать на исходном форуме их в тег MEMBER, но что-то он не прижился да и у него очевидно проблема будет если пользователь переименуется… Вобщем это путь не подходит. А более я что-то не вижу решений (кроме как вообще удалить все URL index.php?showuser=[01234567890]+ на добавляемом форуме до слияния).
0

#8 Пользователь не на сайте   Dmitriy427 ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 631
  • Регистрация: 15-Октябрь 11
  • Репутация: 184
  • Откуда:Россия, Тула
  • IPB version:3.3.x
 

Отправлено 04 Февраль 2017 - 22:30

Цитата

И как править в таком случае ссылки вида /showuser.php

Только скриптом. Определить новый id пользователя можно и по дополнительным признакам - никнейм, почта. Т.е. парсите ссылку регуляркой, определяете старый id, по нему, в таблице из старой базы выбираете данные пользователя, ищете их в новой базе, генерите ссылку, делаете замену. Это не так сложно как кажется. :)
0

#9 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 496
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 014
  • IPB version:I have no IPB
 

Отправлено 05 Февраль 2017 - 09:59

Просмотреть сообщениеf2065 сказал(а):

А там я что-то не вижу ID пользователей… Только ID постов, тем, и вроде бы ЛС.
Ничего похожего на ID пользователей нет.

SELECT * FROM conv_link WHERE type='members';

1

#10 Пользователь не на сайте   f2065 ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 52
  • Регистрация: 16-Ноябрь 16
  • Репутация: 4
  • IPB version:3.4.x
 

Отправлено 11 Февраль 2017 - 02:05

А вот все ID аттачей при конвертации корректно преобразуются…
Хотя в SELECT * FROM `b_conv_link` WHERE `type`='attachments' записаны их старые номера (foreign_id) и новые номер (ipb_id).
Нашёл конкретные посты, у них в исходной базе и в финальной - разные ID, всё правильно изменено. Т.е. IP Converter номера аттачей переписал во всех постах.

Но почему аналогичным образом не конвертируются ID топиков, постов, пользователей???
Может надо в исходной базе что-то донастроить, или ссылки showtopic в какой-то другой формат преобразовать?

Сообщение изменено: f2065 (11 Февраль 2017 - 02:06)

0

#11 Пользователь не на сайте   f2065 ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 52
  • Регистрация: 16-Ноябрь 16
  • Репутация: 4
  • IPB version:3.4.x
 

Отправлено 16 Февраль 2017 - 02:01

Проблему решил так:
Выгрузил php-скриптом foreign_id и ipb_id для members forums posts topics в бинарные файлы.
Выгрузил дамп базы.
Написал конвертилку текста которая пробегается по дамп-файлу и в соответствии с foreign_id=ipb_id изменяет там адрес/ID в домен/index.php?showtopic=ID, домен/index.php?showtopic=ID&p=ID, домен/index.php?showuser=ID, домен/index.php?app=forums&module=forums&section=findpost&pid=ID.
Вроде всё как надо в итоге стало, все ссылки на новые правильные места стали вести, с правильными ID.

Если эта процедура востребована - то можно сделать готовый набор скриптов и инструментов…
1

#12 Пользователь не на сайте   Dmitriy427 ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 631
  • Регистрация: 15-Октябрь 11
  • Репутация: 184
  • Откуда:Россия, Тула
  • IPB version:3.3.x
 

Отправлено 16 Февраль 2017 - 04:54

Готовый, универсальный набор инструментов "для чайника" вы не сделаете, это задачи из разряда "обработать напильником". У меня есть уже с десяток таких наборов постобработки конвертированных баз (ссылки, бб-коды, смайлы), каждый подходит исключительно для одного конкретного случая.
0

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2017 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна