Интеграция пользователей одного форума в другой

Автор Tair, 06 апреля 2008, 20:06:05

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Tair

Есть большой форум, 2900 пользователей => id с 1 по 2900 грубо говоря заняты.
Есть второй форум, пользователей которого нужно интегрировать в большой форум.
ID пользователей второго форума я исправил на 5000+ (т.е. 1й стал 5001м и т.д.)

Но есть проблема - в БД большого форума таблица smf_members выглядит как:

ID_MEMBER
memberName
dateRegistered
posts
ID_GROUP
lngfile
lastLogin
realName
instantMessages
unreadMessages
pm_ignore_list
passwd
emailAddress
personalText
gender
birthdate
websiteTitle
websiteUrl
location
ICQ
AIM
YIM
MSN
hideEmail
showOnline
timeFormat
signature
timeOffset
avatar
pm_email_notify
karmaBad
karmaGood
usertitle
notifyAnnouncements
notifyOnce
memberIP
secretQuestion
secretAnswer
ID_THEME
is_activated
validation_code
ID_MSG_LAST_VISIT
additionalGroups
smileySet
ID_POST_GROUP
totalTimeLoggedIn
passwordSalt
messageLabels
buddy_list
notifySendBody
notifyTypes
memberIP2


а второго форума:

ID_MEMBER
memberName
dateRegistered
posts
ID_GROUP
lngfile
lastLogin
realName
instantMessages
unreadMessages
buddy_list
pm_ignore_list
messageLabels
passwd
emailAddress
personalText
gender
birthdate
websiteTitle
websiteUrl
location
ICQ
AIM
YIM
MSN
hideEmail
showOnline
timeFormat
signature
timeOffset
avatar
pm_email_notify
karmaBad
karmaGood
usertitle
notifyAnnouncements
notifyOnce
notifySendBody
notifyTypes
memberIP
memberIP2
secretQuestion
secretAnswer
ID_THEME
is_activated
validation_code
ID_MSG_LAST_VISIT
additionalGroups
smileySet
ID_POST_GROUP
totalTimeLoggedIn
passwordSalt


т.е. некоторые столбцы находятся на разных местах. Для функционирования форума это норм - но при попытке сделать экспорт ->импорт из второго в первый форум некоторые данные будут находиться не на своих местах.
Насколько я понимаю, в phpmyadmin перестановка местами столбцов таблицы делается с помощью ALTER TABLE - но как точно я так и не понял.
Не могли бы помочь?

И ещё - после импорта, когда заполниться брешь между 2900 пользователем и 5000м - следующий пользователь получит свободный id или займёт 5001й ?

digger®

Цитата: Rainheart от 06 апреля 2008, 20:06:05
т.е. некоторые столбцы находятся на разных местах. Для функционирования форума это норм - но при попытке сделать экспорт ->импорт из второго в первый форум некоторые данные будут находиться не на своих местах.
Порядок столбцов не имеет никакого значения и практически ни на что не влияет.
Цитировать
И ещё - после импорта, когда заполниться брешь между 2900 пользователем и 5000м - следующий пользователь получит свободный id или займёт 5001й ?
Следующий после последнего занятого.

Tair

Ну так дамп же будет неправильно импортирован - в одном случае последняя запись - passwordSalt - а в главной базе - > memberIP2

digger®

#3
Цитата: Rainheart от 06 апреля 2008, 20:36:48
Ну так дамп же будет неправильно импортирован - в одном случае последняя запись - passwordSalt - а в главной базе - > memberIP2
Не знаю как вы импортируете, но для команды
ВСТАВИТЬ в таблицу Y в поле X значение Z
совершенно не важно в каком порядке расположены поля и на каком месте находится поле X

Tair

Я делаю следующий импорт - конкретный пример:

ЦитироватьINSERT INTO `smf_members` VALUES(5050, 'Ник', 1131477497, 0, 25, '', 1131477567, 'Ник', 0, 0, '', '', '', 'хеш', 'лалала@mail.ru', '', 0, '0001-01-01', '', '', '', '', '', '', '', 1, 1, '', '', 0, '', 1, 0, 0, '', 1, 1, 0, 2, '', '', '', '', 13, 1, '', 0, '20', '', 4, 0, '');

и как вот по такому коду БД поймёт что значение в конце 4 относится к ID_POST_GROUP а не к notifySendBody, как отформатирована большая база.

digger®

Цитата: Rainheart от 06 апреля 2008, 20:56:13
Я делаю следующий импорт - конкретный пример:

и как вот по такому коду БД поймёт что значение в конце 4 относится к ID_POST_GROUP а не к notifySendBody, как отформатирована большая база.
Ну так не надо такие непонятные дампы делать, которые никуда кроме оригинальной таблицы не зальешь.
Делайте с именами полей

INSERT INTO "smf_members" ("ID_MEMBER","memberName","dateRegistered","posts","ID_GROUP","lngfile","lastLogin","realName","instantMessages","unreadMessages","buddy_list","pm_ignore_list","messageLabels","passwd","emailAddress","personalText","gender","birthdate","websiteTitle","websiteUrl","location","ICQ","AIM","YIM","MSN","hideEmail","showOnline","timeFormat","signature","timeOffset","avatar","pm_email_notify","karmaBad","karmaGood","usertitle","notifyAnnouncements","notifyOnce","notifySendBody","notifyTypes","memberIP","memberIP2","secretQuestion","secretAnswer","ID_THEME","is_activated","validation_code","ID_MSG_LAST_VISIT","additionalGroups","smileySet","ID_POST_GROUP","totalTimeLoggedIn","passwordSalt","ignoreBoards")
VALUES (2,'digger',1079208000,2460,1,...)

Tair

Спасибо, попробую.

А дамп сделан обычным phpmyadmin