SMF Support > Converting to SMF

Manually Converting a Forum?

(1/3) > >>

I have been testing phpBB and SMF and have decided to go with SMF.

The phpBB forum I have has been around for ages with a handful of users.  It was upgraded a couple weeks ago to phpBB 3.3.3 when I started my current round of testing.

I have an install of SMF 2.1 RC3 that's almost setup where I want it.

I would like to move the users and posts from phpBB to SMF.  Since it's already established, it's looking to me like the easiest way is to do this manually.

From what I can tell, I could set up the users from phpBB in SMF and then edit the database directly to change their registration dates to match.  They'll have to reset their passwords but I can let them know ahead of time.

Likewise, I can copy posts over.  There are under 30 posts so it's not a major undertaking.  Is all that is needed to match up users and their posts is to have their member name and eMail in the post entry in the database?

Next, phpBB stores IP addresses in format whereas SMF has them encoded.  What's the encoding method?  I'll probably have to write a simple script to convert those.


I would try the phpBB Convertor to SMF 2.0.x. Then upgrade the 2.0.x forum to SMF 2.1.
You can also look at the convertor to see how changes are done if you wish to do it manually.


--- Quote from: vbgamer45 on March 16, 2021, 03:06:58 PM ---I would try the phpBB Convertor to SMF 2.0.x. Then upgrade the 2.0.x forum to SMF 2.1.

--- End quote ---

That didn't work.  Did a fresh install of SMF 2.0.18.  Then used the phpBB3.2 convertor to convert to SMF2 and no-go.

--- Quote ---Converting members...
This query:

    u.user_id AS id_member, SUBSTRING(u.username, 1, 80) AS member_name,
    SUBSTRING(u.username, 1, 255) AS real_name,
    SUBSTRING(u.user_password, 1, 64) AS passwd, u.user_lastvisit AS last_login,
    u.user_regdate AS date_registered,
    u.user_posts AS posts, IF(u.user_rank = 1, 1, IFNULL(mg.id_group, 0)) AS id_group,
    u.user_new_privmsg AS instant_messages,
    SUBSTRING(u.user_email, 1, 255) AS email_address,
    u.user_unread_privmsg AS unread_messages,
    u.user_allow_viewonline AS show_online, u.user_timezone AS time_offset,
    IF(u.user_allow_viewemail = 1, 0, 1) AS hide_email, u.user_avatar AS avatar,
    REPLACE(u.user_sig, '\n', '<br />') AS signature,
    u.user_sig_bbcode_uid AS signature_uid, u.user_avatar_type,
    u.user_notify_pm AS pm_email_notify,
    CASE u.user_inactive_reason WHEN 0 THEN 1 ELSE 0 END AS is_activated,
    '' AS lngfile, '' AS buddy_list, '' AS pm_ignore_list, '' AS message_labels,
    '' AS personal_text, '' AS time_format, '' AS usertitle, u.user_ip AS member_ip,
    '' AS secret_question, '' AS secret_answer, '' AS validation_code,
    '' AS additional_groups, '' AS smiley_set, '' AS password_salt, '' as openid_uri, '' AS ignore_boards,
    u.user_ip AS member_ip2
    FROM `[DBNAME]`.[PREFIX]users AS u
    LEFT JOIN `[DBNAME]`.[PREFIX]ranks AS r ON (r.rank_id = u.user_rank AND r.rank_special = 1)
    LEFT JOIN `[DBNAME]`[SMFPREFIX]membergroups AS mg ON (mg.group_name = CONCAT('phpBB ', r.rank_title))
    WHERE u.group_id NOT IN (1, 6)
    GROUP BY u.user_id
    LIMIT 0, 500;

Caused the error:

--- End quote ---

Fix the 1055 error

Thanks, but it looks like it's back to my original plan of doing a manual conversion.  With my host, I have no options to change the MySQL settings and after an hour or so of trying to modify the conversion script, I have learned my PHP/MySQL skills are clearly not up to the task of fixing the queries.


[0] Message Index

[#] Next page

Go to full version