Конвертация с ybbsse

Автор amp, 03 декабря 2009, 12:06:28

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

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

amp

Добрый день,
Конвертирую ybbsse(далее старый форум) на smf 2.0 , использую скрипт конвертации с simplemachines.org

После переноса старого форума на новый хостинг возникли проблемы с синтаксисом SQL запросов в  скриптах старого форума. Я поправил и старый форум запустился. Скрипт конвертации поправил аналогично(выделено красным), однако ошибку
Unknown column 'mem.member_name' in 'field list'
все равно выдает.

Полный текст:
Converting members... Unsuccessful!
This query:

    SELECT
    mem.id_member, SUBSTRING(mem.member_name, 1, 80) AS member_name,
    mem.date_registered, mem.posts, SUBSTRING(mem.passwd, 1, 64) AS passwd,
    SUBSTRING(mem.website_title, 1, 255) AS website_title,
    SUBSTRING(mem.website_url, 1, 255) AS website_url, mem.last_login,
    mem.birthdate, SUBSTRING(mem.icq, 1, 255) AS icq,
    SUBSTRING(IFNULL(mem.real_name, mem.member_name), 1, 255) AS real_name,
    mem.notify_once AS notify_once, REPLACE(mem.lngfile, '.lng', '') AS lngfile,
    SUBSTRING(mem.email_address, 1, 255) AS email_address,
    SUBSTRING(mem.aim, 1, 16) AS aim,
    SUBSTRING(mem.personal_text, 1, 255) AS personal_text,
    SUBSTRING(mem.time_format, 1, 80) AS time_format,
    mem.hide_email, SUBSTRING(mem.member_ip, 1, 255) AS member_ip,
    SUBSTRING(mem.member_ip, 1, 255) AS member_ip2,
    SUBSTRING(mem.yim, 1, 32) AS yim,
    IF(IFNULL(mem.gender, '') = '', 0, IF(mem.gender = 'Male', 1, 2)) AS gender,
    SUBSTRING(mem.msn, 1, 255) AS msn,
    SUBSTRING(REPLACE(mem.signature, '<br>', '<br />'), 1, 65534) AS signature,
    SUBSTRING(mem.location, 1, 255) AS location, mem.time_offset,
    SUBSTRING(mem.avatar, 1, 255) AS avatar,
    SUBSTRING(mem.usertitle, 1, 255) AS usertitle,
    mem.im_email_notify AS pm_email_notify, mem.karma_bad, mem.karma_good,
    mem.notify_announcements,
    SUBSTRING(mem.secret_question, 1, 255) AS secret_question,
    IF(mem.secret_answer = '', '', MD5(mem.secret_answer)) AS secret_answer,
    CASE
    WHEN mem.memberGroup = 'Administrator' THEN 1
    WHEN mem.memberGroup = 'Global Moderator' THEN 2
    WHEN mg.id_group = 8 THEN 2
    WHEN mg.id_group = 1 THEN 1
    WHEN mg.id_group > 8 THEN mg.id_group
    ELSE 0
    END AS id_group, '' AS buddy_list, '' AS pm_ignore_list,
    '' AS message_labels, '' AS validation_code, '' AS additional_groups,
    '' AS smiley_set, '' AS password_salt
    FROM (`olddb_yabbse`.yabbse_members AS mem)
    LEFT JOIN `olddb_yabbse`.yabbse_membergroups AS mg ON (mg.membergroup = mem.memberGroup)
    LIMIT 0, 500;

Caused the error:

    Unknown column 'mem.member_name' in 'field list'

Подскажите, пожалуйста, где копать.

amp

#1
Решил.
Проблема была в не соответствии столбцов указанных в файле конвертации. Мало того там еще несоответствие типов. Пришлось скрипт конвертации и БД перелопачивать.

amp

Продожение проблем:

Converting posts (this may take some time)...
Successful.
Converting polls... Successful.
Converting poll options...
Warning: array_keys() [function.array-keys]: The first argument should be an array in /home/mydomen/convert.php on line 1295

-////-

Warning: array_keys() [function.array-keys]: The first argument should be an array in  /home/mydomen/convert.php on line 1295

Warning: in_array() [function.in-array]: Wrong datatype for second argument in  /home/mydomen/convert.php on line 2635

Warning: in_array() [function.in-array]: Wrong datatype for second argument in  /home/mydomen/convert.php on line 2635

Warning: in_array() [function.in-array]: Wrong datatype for second argument in  /home/mydomen/convert.php on line 2635

Warning: in_array() [function.in-array]: Wrong datatype for second argument in /home/mydomen/convert.php on line 2635

Warning: Invalid argument supplied for foreach() in  /home/mydomen/convert.php on line 2647

Warning: array_combine() [function.array-combine]: Both parameters should have an equal number of elements in  /home/mydomen/Sources/Subs-Db-mysql.php on line 641

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 3

Кто то может подсказать где искать этот an error in your SQL syntax;?

amp

Ну вообщем-то конвертацию произвел. Прилично откорректировав скрипт и базу ради спортивного интереса. :)
Параллельно пробовал просто апгрейд.
Рекомендую файлы конвертации c yabbsse 1.5.5 не использовать в принципе, а просто делать апгрейд форума. При апгрейде все работает штатно (2.0), только при обновлении на 1.11 пара ошибок выскочила быстро устранимых