Конвертация phpbb2 в smf2

Автор Thug, 02 марта 2012, 17:50:05

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

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

Thug

Приветствую почтенных. В наличии вялотекущая война с phpbb2. Достался он по наследству, живет на мастерхосте. Переезд на phpbb3 не удался в силу ограничений, перетаскивание базы аналогично не дает эффекта (проблемы с кодировкой).  Решил попробовать SMF 2. Установил чистый форум, скачал конвертер. Трабла в том, что phpbb не чистый был, похоже, т.к. таблицы имеют префикс nukebb_
ошибка при конвертации: Converting members...Wrong value type sent to the database. Integer expected. (date_registered)
На локальной базе заменил поле на VARCHAR - помогло. Далее возникла проблема с другой таблицей
Converting posts (this may take some time)...The database value you're trying to insert does not exist: poster_name
Вот тут я уже не смог побороть и обратился за помощью в сообщество.

Обязательные сведения
Точная версия SMF: 2
Адрес форума: http://delta-team.nnov.ru/smf/index.php (конверсия делалась на локальном сервере, чистая установка).
Локализация форума (windows-1251 или utf-8): windows-1251
Используемая тема оформления: default

digger®

Цитата: Thug от 02 марта 2012, 17:50:05ошибка при конвертации: Converting members...Wrong value type sent to the database. Integer expected. (date_registered)На локальной базе заменил поле на VARCHAR - помогло. Далее возникла проблема с другой таблицей
Надо не базу править, а конвертер.

Цитата: Thug от 02 марта 2012, 17:50:05Далее возникла проблема с другой таблицей Converting posts (this may take some time)...The database value you're trying to insert does not exist: poster_name
Опять же, нужно конвертер смотреть - что пытается в poster_name вставить и откуда берет это значение.

Thug

SELECT
        p.post_id AS id_msg, p.topic_id AS id_topic, p.post_time AS poster_time,
        p.poster_id AS id_member,
        SUBSTRING(IFNULL(u.user_email, ''), 1, 255) AS poster_email,
        SUBSTRING(IF(IFNULL(pt.post_subject, '') = '', t.topic_title, pt.post_subject), 1, 255) AS subject,
        SUBSTRING(IF(IFNULL(p.post_username, '') = '', u.username, p.post_username), 1, 255) AS poster_name,
        p.enable_smilies AS smileys_enabled, IF(p.post_edit_time > 0, p.post_edit_time, 0) AS modified_time,
        CONCAT_WS('.', CONV(SUBSTRING(p.poster_ip, 1, 2), 16, 10), CONV(SUBSTRING(p.poster_ip, 3, 2), 16, 10), CONV(SUBSTRING(p.poster_ip, 5, 2), 16, 10), CONV(SUBSTRING(p.poster_ip, 7, 2), 16, 10)) AS poster_ip,
        SUBSTRING(REPLACE(REPLACE(IF(pt.bbcode_uid = '', pt.post_text, REPLACE(REPLACE(REPLACE(pt.post_text, CONCAT(':u:', pt.bbcode_uid), ''), CONCAT(':1:', pt.bbcode_uid), ''), CONCAT(':', pt.bbcode_uid), '')), '\n', '<br />'), '"', '"'), 1, 65534) AS body,
        p.forum_id AS id_board, '' AS modified_name, 'xx' AS icon
FROM nukebb_posts AS p
        INNER JOIN nukebb_posts_text AS pt ON (pt.post_id = p.post_id)
        INNER JOIN nukebb_topics AS t ON (t.topic_id = p.topic_id)
        LEFT JOIN nukebb_users AS u ON (u.user_id = p.poster_id);
Вот запрос. В мускуле выполняется отлично. Где посмотреть, какая процедура пишет?