I’ve spent all day trying to get my MyBB data into Discourse using several different methods, including the official method and alternative methods. Despite my best efforts, I’m still struggling to get everything working. I’ve run into issues with data formatting, missing fields, and various other roadblocks.
Should it really be this difficult for people to merge MyBB into Discourse? It seems like there should be a much more straightforward way to achieve this, especially since I’ve already exported the data from MyBB (users, topics, posts, and categories) into CSV files. Yet, the import process seems overly complicated and, at times, outdated.
Has anyone else had similar challenges? Are there any current, simplified methods or tools that I could use to seamlessly migrate my forum from MyBB to Discourse without hitting these issues?
I would really appreciate any guidance, scripts, or step-by-step processes that have worked for others.
I get that the “official” method relies on accessing a MySQL database and using the mybb.rb script with ENV variables — and yes, I did try that. I also attempted to set up a full local Discourse dev environment as the import guides recommend, and planned to move the data to the production environment after importing. But the reality is, almost every tutorial and example I found in the “Migrating to Discourse” category is either outdated or full of people also hitting errors with the MyBB importer.
The script itself is brittle. It hasn’t aged well, and breaks on minor schema differences or edge cases. Most of the guides assume you’re familiar with Ruby, Rails, and the inner workings of the Discourse codebase — which many forum admins aren’t. And even when I tried simplifying things by exporting to CSV, it was more about trying to manually prepare the data since the tools provided just weren’t working.
When you said “They all work about the same” — sure, but that’s the issue. Many of them don’t work well in 2025 without heavy patching, debugging, and guessing your way through it. People aren’t struggling because they haven’t read the docs — they’re struggling because the ecosystem for importing is stuck in a dev-centric mindset.
At this point, I’ve just decided to convert my MyBB SQL into a working Discourse .tar.gz backup that I can upload and restore through the admin panel. No importer scripts, no Ruby errors, just a clean, direct method that works.
And honestly, I’m going to write a Python tool that lets people just drag and drop their MyBB SQL file and export it to a Discourse-ready backup. This whole process has shown me how badly a modern, user-friendly import path is needed. Users shouldn’t have to go through this much pain just to migrate their community.
Appreciate the help though — I know you’re just trying to clarify, and I’m not blaming anyone specifically. But the whole import experience definitely needs an overhaul.
Discourse is written in ruby, so it’s necessary to write a script that interacts with the internals of Discourse. An import is a dev centric proposition.
Every script is full of edges cases. I’ve done over a hundred imports. Every single one has required tweaks for various reasons.
The likelihood that you can write an import script for Discourse in python is very close to zero. If you do, it will likely not work for anyone else. And once you’ve done your migration, you’re not likely to maintain the code for future changes in mybb and discourse.