Перейти к контенту
  • 0

Был ли прецедент слияния двух баз разных форумов


P.Kostenko

Вопрос

В скором времени надо будет слить 2 базы разных форумов в единую базу. Возможно ли это с технической стороны?

По поводу тем и сообщений это очевидно проблем не составит. Но интересно, что с пользователями? Реально их с двух баз под единую подселить, ведь произойдёт дублирование регистрационных номеров.

 

Если кто проводил данную тонкую хирургическую операцию - будьте добры, поделитесь опытом. Если нет. Выскажите свои предположения по более успешной операции.

Благодарю всех.

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0
Возможно ли это с технической стороны?

Возможно

По поводу тем и сообщений это очевидно проблем не составит

Если в базе иды тем и постов не пересекуться то не составит, а если да что скорее всего и произойдет то это адский труд

Реально их с двух баз под единую подселить

Реально - меняй в меньшей базе иды юзеров и меняй также авторов тем/постов и т.п.

Выскажите свои предположения по более успешной операции.

Титанический труд - имхо нереально - свихнешься :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Вообще, вопрос, конечно, интересный, только прежде всего надо продумать - что делать с одинаковыми пользователями, одинаковыми категориями, одинаковыми форумами и т.д. И по какому критерию их считать "одинаковыми"...
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Допустим на одном форуме 15 000 тем и 100 000 сообщений, на другом 10 000 тем и 70 000 сообщений. Так же с пользователями 5000 и 3000 соответственно. Цифры исключительно для примера.

Допустим идентификационные номера, как пользователей, так и сообщений с темами на первом форуме остаются без изменений, не трогают.

При заливке сообщений со второго форум, можно изначально первому присвоить номер 15 001 для темы, 100 001 сообщения и 5001 для пользователя. А принадлежность темы или сообщения к участнику можно подправить скриптом на + 15 000 для тем, + 100 000 для сообщений.

Так возможно?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Главное все предусмотреть ;) Что-нибудь обязательно забудешь :D
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Допустим идентификационные номера, как пользователей, так и сообщений с темами на первом форуме остаются без изменений, не трогают.

И ещё допустим, что одинаковых пользователей / тем / разделов нет, либо с ними планируется разобраться при помощи рук.

 

Тогда да, в приведённом примере - возможно.

1. UPDATE ibf_posts SET pid=pid + 10000, topic_id=topic_id + 5000, forum_id=forum_id+10;

UPDATE ibf_topics SET tid=tid+15000, forum_id=forum_id+10;

и т.д.

2. Делаем дамп таблиц второго форума и заливаем его в первый форум.

3. Делаем SELECT MAX(pid) FROM ibf_posts; SELECT MAX(tid) FROM ibf_topics и т.д.

А затем изменить значение AUTO_INCREMENT для таблиц на MAX(pid), MAX(tid) и т.д.

 

Только нужно аккуратно проконтролировать все связи между таблицами, чтоб нигде не забыть увеличить значения!

Добавлено в [mergetime]1092216021[/mergetime]

Чо-то я ничо не понимаю, вроде в этой теме постов больше было....

И куда пропали?

Добавлено в [mergetime]1092216035[/mergetime]

:D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Да нет, всё в порядке, всё на месте :D

Тут вот еще, какой есть небольшой нюанс.

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

В общем, пока я так понимаю алгоритм можно сделать таким.

1. В базе второго форума все темы, сообщения и номера участников увеличить энное число в зависимости от первого форума.

2. Начинать слияние, но только без перекачивания разделов со второго на первый, а лишь перекачку тем из второго в первый в указанные разделы.

М?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Да нет, всё в порядке, всё на месте

А где пост от Meowth[OGD], в котором была указана прямая команда SQL, как изменить значение AUTO_INCREMENT? :D

В общем, пока я так понимаю алгоритм можно сделать таким.

В общем, да.

перекачку тем

Тем, сообщений, подписок на темы, например... ;)

Ссылка на комментарий
Поделиться на других сайтах

  • 0
А где пост от Meowth[OGD], в котором была указана прямая команда SQL, как изменить значение AUTO_INCREMENT

Он в другой теме про переиндексацию таблицы мемберов

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.