конвертация из joomlaboard (simpleboard) в SMF не работает

Started by aleks_nw, December 13, 2006, 01:42:50 PM

Previous topic - Next topic

aleks_nw

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


теперь трабла - перенес форумы и категории.. а вот контент оказался перенести не в силах.. не пойму в чем проблема..  итак..
выдает вот что

Converting...
Converting members... Successful.
Converting categories... Successful.
Converting boards... Successful.
Converting topics... Successful.
Converting posts (this may take some time)... Unsuccessful!
This query:
INSERT INTO `smf`.smf_messages
(ID_MSG, ID_TOPIC, posterTime, SUBSTRING(m.subject, 1, 255), ID_MEMBER, posterName, posterEmail, posterIP, ID_BOARD, body, modifiedName, icon)
VALUES ('6', '6', '1164192568', 'Четвертое занятие', '64', 'aleks_nw', '[email protected]', '87.245.146.3', '6', 'Итак[img width=]прошло[img width=]мое[img width=]четвертое[img width=]занятие[img width=]верховой[img width=]езды..[img width=]четыре[img width=]недели[img width=]назад[img width=]я[img width=]впервые[img width=]сел[img width=]на[img width=]лошадь[img width=]и[img width=]оказался[img width=]буд-то[img width=]в[img width=]другом[img width=]мире,[img width=]раньше[img width=]все[img width=]было[img width=]понятно[img width=]и[img width=]устоявшееся,[img width=]а[img width=]тут[img width=]вдруг[img width=]все[img width=]идет[img width=]не[img width=]так[img width=]как[img width=]я[img width=]хочу..[img width=]причем[img width=]нельзя[img width=]сказать[img width=]что[img width=]лошадь[img width=]плоха[img width=][img width=]ведь[img width=]другие[img width=]то[img width=]на[img width=]ней[img width=]ездят[img width=][img width=]Хогла[img width=]



в[img width=]предыдущее[img width=]занятие[img width=]мне[img width=]досталась[img width=]Рецептура...[img width=]приятная[img width=]лошадка..[img width=]о...................


...............width=]них[img width=]-[img width=]я[img width=]и[img width=]буш,[img width=]я[img width=]и[img width=]богия[img width=]и.т.п.

а[img width=]по[img width=]поводу[img width=]остальных[img width=]-[img width=]вы[img width=]пользователи,[img width=]вы[img width=]создаете[img width=]разделы[img width=]:[img width=]', '', 'xx');


Caused the error:
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 'SUBSTRING(m.subject, 1, 255), ID_MEMBER, posterName, posterEmail



полез смотреть файл..  там такой запрос использует это.

//******************************************************************************/
--- Converting posts (this may take some time)...
/******************************************************************************/

TRUNCATE {$to_prefix}messages;
TRUNCATE {$to_prefix}attachments;

---* {$to_prefix}messages 200
---{
$row['body'] = preg_replace('~[file name=.+?]http.+?[/file]~i', '', $row['body']);
$row['body'] = preg_replace('~[img size=(\d+)]~i', '[img width=$1]', $row['body']);
---}
SELECT
m.id AS ID_MSG, m.thread AS ID_TOPIC, m.time AS posterTime,
SUBSTRING(m.subject, 1, 255), m.userid AS ID_MEMBER,
SUBSTRING(m.name, 1, 255) AS posterName,
SUBSTRING(m.email, 1, 255) AS posterEmail,
SUBSTRING(m.ip, 1, 255) AS posterIP, m.catid AS ID_BOARD,
SUBSTRING(mt.message, 1, 65534) AS body, '' AS modifiedName, 'xx' AS icon
FROM ({$from_prefix}sb_messages AS m, {$from_prefix}sb_messages_text AS mt)
WHERE mt.mesid = m.id;
---*


я давал запрос в базе напрямую.. (поменяв fromprefix на его значение) запрос прошел великолепно..

потом не пойму как это работает.. фром есть.. а ту?   где он пишит.. как это вообще делает, что править?

aleks_nw

#1
разобрался.. баг был в запросе..

INSERT INTO `smf`.smf_messages
(ID_MSG, ID_TOPIC, posterTime, SUBSTRING(m.subject, 1, 255), ID_MEMBER, posterName, posterEmail, posterIP, ID_BOARD, body, modifiedName, icon)
VALUES ('6', '6', '1164192568', 'Четвертое занятие', '64', 'aleks_nw', 'a


я поленился искать где разработчик совершил этот баг.  лень было копаться в коде..  дал запрос в ручную.. 

SUBSTRING(m.subject, 1, 255) - это ошибка.. надо так subject (имя поля таблицы)

в общем в таком виде запрос дал (параметры приводить уж не буду.. их 1.5 мегабайта :)

INSERT INTO `smf`.smf_messages
(ID_MSG, ID_TOPIC, posterTime, subject, ID_MEMBER, posterName, posterEmail, posterIP, ID_BOARD, body, modifiedName, icon)
VALUES


я только одного не понял - как разработчики допустили выкладывание конвертера который имеет ошибку.. :(((

Advertisement: