News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

*Convert from IPB 3.1.2 to SMF 1.1.1* NEED HELP!

Started by xblazenx, October 02, 2010, 03:26:07 PM

Previous topic - Next topic

xblazenx

I currently switched from having a IPB Forum and now a SMF! My users  on my forum want to have their post from the old form to the new SMF forum. Could someone explain to me how I could convert my users post to the new forum?!?!?!


n3ronx


n3ronx

Any progress? Seems stuck at %90 for IPB 3.1 to SMF 2.0.


gregormendel

I'm running an IPB 3.1.4 an want to convert to SMF.

I tried using the 3.0 > SMF 2.0 RC4 but get the following error:


Converting members...
Unsuccessful!
This query:
SELECT
m.member_id AS id_member, SUBSTRING(m.name, 1, 80) AS member_name,
SUBSTRING(m.members_display_name, 1, 255) AS real_name, m.email AS email_address,
SUBSTRING(m.members_pass_hash, 1, 64) AS passwd, SUBSTRING(m.members_pass_salt, 1, 8) AS password_salt,
SUBSTRING(pp.pp_bio_content, 1, 255) AS usertitle, m.last_visit AS last_login,
m.joined AS date_registered, SUBSTRING(pc.field_3, 1, 255) AS website_url,
SUBSTRING(pc.field_3, 1, 255) AS website_title,
SUBSTRING(pc.field_4, 1, 255) AS icq, SUBSTRING(pc.field_1, 1, 16) AS aim,
SUBSTRING(pc.field_8, 1, 32) AS yim, SUBSTRING(pc.field_2, 1, 255) AS msn,
SUBSTRING(pp.signature, 1, 65534) AS signature, m.ip_address AS member_ip, m.ip_address AS member_ip2, '0' AS total_time_logged_in,
IF (m.bday_year IS NULL, '0001-01-01', IF (m.bday_year = 0 AND m.bday_month != 0 AND m.bday_day != 0, CONCAT('0004-', m.bday_month, '-', m.bday_day), CONCAT_WS('-', IF(m.bday_year <= 4, 0001, m.bday_year), IF(m.bday_month = 0, 01, IF(m.bday_month < 10, CONCAT('0', m.bday_month), m.bday_month)), IF(m.bday_day = 0, 01, IF(m.bday_day < 10, CONCAT('0', m.bday_day), m.bday_day))))) AS birthdate, m.email_pm AS pm_email_notify,
CASE
WHEN (m.member_group_id = '4') THEN 1
WHEN (m.member_group_id = '2') THEN -1
WHEN (m.member_group_id = '6') THEN 2
ELSE 0
END AS id_group,
CASE
WHEN (pc.field_5 = 'm') THEN 1
WHEN (pc.field_5 = 'f') THEN 2
ELSE 0
END AS gender
FROM `havenwow_eu`.ibf_members AS m
LEFT JOIN `havenwow_eu`.ibf_pfields_content AS pc ON (pc.member_id = m.member_id)
LEFT JOIN `havenwow_eu`.ibf_profile_portal AS pp ON (pp.pp_member_id = m.member_id)
LIMIT 0, 500;
Caused the error:

Unknown column 'pp.pp_bio_content' in 'field list'


ThorstenE

gregormendel,
edit the ipb31_to_smf.sql and remove this code:
SUBSTRING(pp.pp_bio_content, 1, 255) AS usertitle,
then restart the converter.

gregormendel

Thx TE, that got me a bit further. I am however using the ipb3_to_smf.sql - I'm not aware of an ipb31_to smf.sql is that a typo?

I had to include óne of your fixes from the pinned topic to get PM's converted, but now I hang at this:


Converting...
Converting topic notifications...
Successful.
Converting board notifications... Successful.
Converting censored words... Successful.
Converting moderators...Wrong value type sent to the database. Integer expected. (id_board)





ThorstenE

Quote from: gregormendel on December 29, 2010, 06:24:13 AM
Thx TE, that got me a bit further. I am however using the ipb3_to_smf.sql - I'm not aware of an ipb31_to smf.sql is that a typo?
yepp, typo ..

in ibb3_to_smf.sql find:
if (empty($row['id_member']))
unset($row);

replace with:
if (empty($row['id_member']) || empty($row['id_board']))
unset($row);

gregormendel

I made the changes you surgested, but the converter still makes the same error.

Any further surgestions are appreciated .-)

ThorstenE

I can't test it myself because I don't have a IPB database backup.. I'd simply remove the moderators converter part for now:
in ipb3_to_smf.sql find and remove this:

/******************************************************************************/
--- Converting moderators...
/******************************************************************************/

TRUNCATE {$to_prefix}moderators;

---* {$to_prefix}moderators
---{
$ignore = true;

if (empty($row['id_member']))
unset($row);
---}
SELECT member_id AS id_member, forum_id AS id_board
FROM {$from_prefix}moderators
WHERE member_id != -1;
---*

EdisonLiu

I got the bio error so I remove the substring from your instruction,

I get this error after I hit try again:

QuoteConverting members...
Unsuccessful!
This query:
SELECT
m.member_id AS id_member, SUBSTRING(m.name, 1, 80) AS member_name,
SUBSTRING(m.members_display_name, 1, 255) AS real_name, hxxp:m.email [nonactive] AS email_address,
SUBSTRING(m.members_pass_hash, 1, 64) AS passwd, SUBSTRING(m.members_pass_salt, 1, 8) AS password_salt,
m.last_visit AS last_login,
m.joined AS date_registered, SUBSTRING(pc.field_3, 1, 255) AS website_url,
SUBSTRING(pc.field_3, 1, 255) AS website_title,
SUBSTRING(pc.field_4, 1, 255) AS icq, SUBSTRING(pc.field_1, 1, 16) AS aim,
SUBSTRING(pc.field_8, 1, 32) AS yim, SUBSTRING(pc.field_2, 1, 255) AS msn,
SUBSTRING(pp.signature, 1, 65534) AS signature, m.ip_address AS member_ip, m.ip_address AS member_ip2, '0' AS total_time_logged_in,
IF (m.bday_year IS NULL, '0001-01-01', IF (m.bday_year = 0 AND m.bday_month != 0 AND m.bday_day != 0, CONCAT('0004-', m.bday_month, '-', m.bday_day), CONCAT_WS('-', IF(m.bday_year <= 4, 0001, m.bday_year), IF(m.bday_month = 0, 01, IF(m.bday_month < 10, CONCAT('0', m.bday_month), m.bday_month)), IF(m.bday_day = 0, 01, IF(m.bday_day < 10, CONCAT('0', m.bday_day), m.bday_day))))) AS birthdate, hxxp:m.email [nonactive]_pm AS pm_email_notify,
CASE
WHEN (m.member_group_id = '4') THEN 1
WHEN (m.member_group_id = '2') THEN -1
WHEN (m.member_group_id = '6') THEN 2
ELSE 0
END AS id_group,
CASE
WHEN (pc.field_5 = 'm') THEN 1
WHEN (pc.field_5 = 'f') THEN 2
ELSE 0
END AS gender
FROM `vamp_ipb`.members AS m
LEFT JOIN `vamp_ipb`.pfields_content AS pc ON (pc.member_id = m.member_id)
LEFT JOIN `vamp_ipb`.profile_portal AS pp ON (pp.pp_member_id = m.member_id)
LIMIT 0, 500;
Caused the error:
Unknown column 'm.email_pm' in 'field list'

ThorstenE

EdisonLiu,
the issue is related to a missing column "email_pm" in your IPB database (table members), maybe your IPB is a different version?

Dark-Skript

Hello Im running IPB 3.1.4 and I got an error:

SELECT
m.member_id AS id_member, SUBSTRING(m.name, 1, 80) AS member_name,
SUBSTRING(m.members_display_name, 1, 255) AS real_name, m.email AS email_address,
SUBSTRING(m.members_pass_hash, 1, 64) AS passwd, SUBSTRING(m.members_pass_salt, 1, 8) AS password_salt,
m.last_visit AS last_login,
m.joined AS date_registered, SUBSTRING(pc.field_3, 1, 255) AS website_url,
SUBSTRING(pc.field_3, 1, 255) AS website_title,
SUBSTRING(pc.field_4, 1, 255) AS icq, SUBSTRING(pc.field_1, 1, 16) AS aim,
SUBSTRING(pc.field_8, 1, 32) AS yim, SUBSTRING(pc.field_2, 1, 255) AS msn,
SUBSTRING(pp.signature, 1, 65534) AS signature, m.ip_address AS member_ip, m.ip_address AS member_ip2, '0' AS total_time_logged_in,
IF (m.bday_year IS NULL, '0001-01-01', IF (m.bday_year = 0 AND m.bday_month != 0 AND m.bday_day != 0, CONCAT('0004-', m.bday_month, '-', m.bday_day), CONCAT_WS('-', IF(m.bday_year <= 4, 0001, m.bday_year), IF(m.bday_month = 0, 01, IF(m.bday_month < 10, CONCAT('0', m.bday_month), m.bday_month)), IF(m.bday_day = 0, 01, IF(m.bday_day < 10, CONCAT('0', m.bday_day), m.bday_day))))) AS birthdate, m.email_pm AS pm_email_notify,
CASE
WHEN (m.member_group_id = '4') THEN 1
WHEN (m.member_group_id = '2') THEN -1
WHEN (m.member_group_id = '6') THEN 2
ELSE 0
END AS id_group,
CASE
WHEN (pc.field_5 = 'm') THEN 1
WHEN (pc.field_5 = 'f') THEN 2
ELSE 0
END AS gender
FROM `zombie_forums`.members AS m
LEFT JOIN `zombie_forums`.pfields_content AS pc ON (pc.member_id = m.member_id)
LEFT JOIN `zombie_forums`.profile_portal AS pp ON (pp.pp_member_id = m.member_id)
LIMIT 0, 500;


Caused the error:

    Unknown column 'm.email_pm' in 'field list'

Advertisement: