Перейти к контенту
  • 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

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

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

  • 0

Meowth[OGD]

Ой, чего спьяну не покажется... :D

 

переиндексация id пользователей - тут смотрим, как менять AUTO_INCREMENT.

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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