Please upgrade here. These earlier versions are no longer being updated and have security issues.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

(private) messages missing from SMF1 import

I ran the export import from an old SMF 1 forum to a fresh vanilla install a couple of times.
Both times, the personal messages from the old forum seem to be missing when looking in the "inbox" of a user.
Looking in the database, almost all items are "deleted = 1", which seems weird.

I've update all to deleted = 0 to check, but even then, only a few messages are showing and nothing newer then 2008 for some strange reason.

Anyone with an idea about this?


  • Options

    I posted my last(first) post after a few days of debugging. As is normal in these situations, i now found the answer myself.

    The problem is, all messages were imported properly into the GDN_conversationMessages table. But for some messages/conversations no entry was made into the GDN_conversations table, which binds different messages together in a discussion.

    I've created a query to rectify this afther the import is run. This fixes this issue for me. It neatly sets amount of messages, first message id and last message id to the right settings.
    Not all columns in the GDN_conversations table can be set, but those aren't really needed.

    I hope this helps someone in the future who's having the same issues.

    INSERT INTO vanilla_beta.GDN_Conversation( ConversationID, Subject, Contributors, FirstMessageID, LastMessageID, InsertUserID, DateInserted, DateUpdated, CountMessages ) SELECT ConversationID, null, ' ', (SELECT MessageID FROM GDN_ConversationMessage cm2 WHERE cm.ConversationID = cm2.ConversationID ORDER BY cm2.DateInserted ASC LIMIT 1), (SELECT MessageID FROM GDN_ConversationMessage cm2 WHERE cm.ConversationID = cm2.ConversationID ORDER BY cm2.DateInserted DESC LIMIT 1), InsertUserID, DateInserted, DateInserted, (SELECT COUNT(*) FROM GDN_ConversationMessage cm2 WHERE cm.ConversationID = cm2.ConversationID) FROM GDN_ConversationMessage cm WHERE ConversationID NOT IN (SELECT ConversationID FROM GDN_Conversation) GROUP BY ConversationID

  • Options

    @Swigle you may wish to open an issue here

    grep is your friend.

  • Options

    Good thinking, i've added it there.

  • Options
    R_JR_J Ex-Fanboy Munich Admin

    Don't get me wrong, but I hope you have many more problems in the future ;)

  • Options

    I'll take that as a compliment ;)

Sign In or Register to comment.