Having fought successfully with the vbulletin migration script, and watching the migration churn away for 36 hours now with a couple million posts yet to go…
If there is no existing Discourse content or data relationships to preserve, is there any reason why an existing non-Discourse forum could not be migrated by generating a Discourse backup sql snapshot directly from the source database data?
We’d have to write the script more or less from scratch, but it would be high-level similar to the existing migration scripts. The script would pull the data from the source database, munge it as needed*, and generate flat data dumps for each target Discourse table that could be used to piece together the equivalent of a Discourse backup snapshot. More or less, the script output would be injected into the backup snapshot of an empty Discourse instance.
The * above hides a ton of work, but is there any major roadblock I’m overlooking? Since we can reuse all of the existing source data identifiers (topic id, thread id, etc), I don’t think the munging step requires holding any significant amount of state, but maybe I’m wrong about that. It seems like the heavy lifting of the migration logic would be in the database calls to the source database.