Jump to content

Слить две базы данных возможно?

Featured Replies

Posted
comment_15080

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

Возможно ли объединить эти две базы данных, чтобы получилась одна полноценная с новыми постами и без потерь в темах? И стиль хотелось бы оставить новый.

comment_15081

По сути можно, если очень долго похимичить над ними :)

Например придётся сравнивать поля в таблицах и создавать недостающие. Но это очень сложно и долго..

  • Author
comment_15083

А если отсортировать по дате?

И какие таблицы в базе отвечают за структуру категорий и форумов и посты? Не затрагивая пользователей, паролей, стилей...

comment_15085

А причём тут дата? Я бы например оставил бы таблицы с пользователями, темами и сообщениями. Больше в принципе ничего не нужно. Чтобы эти данные вошли в другую базу, необходимо чтобы таблицы имели одинаковые поля, а ID разные. Вот и думай как это реализовать.. :13:

comment_15091

Может утилита есть какая?

Не встречал, т.к. не интересовался этим..

comment_15200

Утилита есть для версий форумов 2.x, не помню как называется.

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

  • 1 year later...
comment_61594

У меня этот вопрос актуальный, ответа на форуме не нашел.Кто нибудь сможет объяснить как решить этот вопрос?

comment_61597

У меня этот вопрос актуальный, ответа на форуме не нашел.Кто нибудь сможет объяснить как решить этот вопрос?

Берёте две базы. Убираете все префиксы таблиц. После из базы, в которой меньше важной информации, копируете таблицы с пользователями, форумами и постами, следя, чтобы их названия были идентичны. По идее всё. Может только быть проблема с датами сообщений, тем и регистраций, ибо они записываются в непонятном виде, который читает только IPB. В конце подключаете новую базу в conf_global.php, если всё удачно, перестраиваете все кэши в АЦ.

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

comment_61600


После из базы, в которой меньше важной информации, копируете таблицы с пользователями, форумами и постами, следя, чтобы их названия были идентичны.

Идентификаторы тоже копировать заменяя?


Может только быть проблема с датами сообщений, тем и регистраций, ибо они записываются в непонятном виде, который читает только IPB.

Это не "непонятный вид" Это:

__ru.wikipedia.org/wiki/UNIX-время

В этой теме больше вредных советов.

comment_61601

Идентификаторы тоже копировать заменяя?

Идентефикаторы чего? Юзверей? Нет, конечно, если только БД не с разных форумов. Но тогда проще застрелиться, создавая новые :) Таблиц? Не понимаю зачем. Просто надо всех пользователей, тем, постов из одних таблиц "members", "topics", "posts"  скопировать в другие.

 

 

Это не "непонятный вид" Это: UNIX-время

 

Спасибо, не не знал  :good:

comment_61610

Идентефикаторы чего? Юзверей?

А что, ID есть только у юзверей? Категории, форумы, темы, сообщения, пользователи, вложения.

У тебя есть база "А", которая стартанула в 2013 году. В ней:

 

  • сообщения с ID: 1 - 46709343
  • пользователи с ID: 1 - 20045

 

Ты создал новую базу "Б" в 2014. В ней:

 

  • сообщения с ID: 1 - 21334
  • пользователи с ID: 1 - 615

 

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

Вперёд, покажи мне, гуру, как ты это синхронизируешь.

 

Ну, по сути, Респект уже всё озвучил как и что нужно и как должно быть.

comment_61613

А что, ID есть только у юзверей? Категории, форумы, темы, сообщения, пользователи, вложения.

У тебя есть база "А", которая стартанула в 2013 году. В ней:

 

  • сообщения с ID: 1 - 46709343
  • пользователи с ID: 1 - 20045

 

Ты создал новую базу "Б" в 2014. В ней:

 

  • сообщения с ID: 1 - 21334
  • пользователи с ID: 1 - 615

 

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

Вперёд, покажи мне, гуру, как ты это синхронизируешь.

 

Ну, по сути, Респект уже всё озвучил как и что нужно и как должно быть.

Я не говорил, что я гуру :) Я лишь сказал теорию. А вообще, можно просто переделать все ID, написав простой скрипт который будет поочерёдно селектить нужные сообщения (пользователи, темы, итд) и прибавлять к каждому нужное число.

comment_61614

Форумы разные, как я понимаю проблема вся в Ид...

Так что, все безнадежно?

Edited by YOLO

comment_61616

простой скрипт

 

 

поочерёдно селектить нужные сообщения (пользователи, темы, итд) и прибавлять к каждому нужное число

А также сравнивать существование ID пользователя, переделывая уже существующие темы, сообщения и аттачи и группы пользователей под новые ID

А также сравнивать существование ID сообщения, переделывая уже существующие аттачи и пользователея под новые ID сообщения.

 

...и т.д.

Форумы разные, как я понимаю проблема вся в Ид...

Она гораздо глубже...

comment_61623

А также сравнивать существование ID пользователя, переделывая уже существующие темы, сообщения и аттачи и группы пользователей под новые ID

А также сравнивать существование ID сообщения, переделывая уже существующие аттачи и пользователея под новые ID сообщения.

 

...и т.д.

Да. Во всех таблицах изменять id юзеров, тем, форумов, сообщений. Просто варианта проще я не знаю.  :shake:

Так что, все безнадежно?
Просто очень сложно и долго.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.