Требуется помощь в объединении данных MyBB с Discourse (пошаговый процесс)

Всем привет,

Я провёл весь день, пытаясь импортировать данные из MyBB в Discourse разными способами, включая официальный метод и альтернативные варианты. Несмотря на все усилия, мне всё ещё не удаётся добиться полной работоспособности. Я столкнулся с проблемами форматирования данных, отсутствующими полями и различными другими препятствиями.

Действительно ли должно быть так сложно перенести MyBB в Discourse? Казалось бы, должен существовать гораздо более простой способ, особенно учитывая, что я уже экспортировал данные из MyBB (пользователи, темы, сообщения и категории) в CSV-файлы. Однако процесс импорта кажется излишне запутанным и местами устаревшим.

Сталкивался ли кто-нибудь ещё с похожими трудностями? Есть ли какие-то актуальные упрощённые методы или инструменты, которые можно использовать для бесшовного переноса форума с MyBB на Discourse без этих проблем?

Я был бы очень признателен за любые советы, скрипты или пошаговые инструкции, которые помогли другим.

Спасибо!

Какой метод вы использовали? С какими ошибками столкнулись?

Скрипт импорта читает базу данных MySQL. Вы не можете использовать CSV-файлы. Что заставило вас предположить, что можно использовать CSV-файлы?

Он работает так же, как и другие скрипты импорта. В начале файла указано следующее:

Таким образом, вам нужна база данных MySQL, к которой может получить доступ машина, на которой выполняется скрипт, определите соответствующие переменные окружения (ENV) и запустите скрипт согласно инструкции.

Вы можете посмотреть другие примеры по адресу Migrating to Discourse - Discourse Meta. Все они работают примерно одинаково.

Спасибо за ответ.

Я понимаю, что «официальный» метод требует доступа к базе данных MySQL и использования скрипта mybb.rb с переменными окружения — и да, я это пробовал. Также я пытался настроить полноценную локальную среду разработки Discourse, как рекомендуют руководства по импорту, с планом перенести данные в продакшн после импорта. Но реальность такова: почти все учебные материалы и примеры в категории «Миграция на Discourse» либо устарели, либо полны сообщений от людей, которые тоже сталкиваются с ошибками импортера MyBB.

Сам скрипт очень хрупок. Он плохо перенёс испытание временем и ломается из-за незначительных различий в схеме базы данных или пограничных случаев. Большинство руководств предполагают, что вы знакомы с Ruby, Rails и внутренним устройством кодовой базы Discourse — а многие администраторы форумов этим не обладают. Даже когда я пытался упростить задачу, экспортируя данные в CSV, это сводилось к ручной подготовке данных, поскольку предоставленные инструменты просто не работали.

Когда вы сказали: «Они все работают примерно одинаково» — да, но в этом и проблема. Многие из них плохо работают в 2025 году без серьёзных исправлений, отладки и гадания на кофейной гуще. Люди страдают не потому, что не читали документацию, а потому, что экосистема импорта застряла в мышлении, ориентированном на разработчиков.

В итоге я решил конвертировать SQL-дамп MyBB в рабочую резервную копию Discourse в формате .tar.gz, которую можно загрузить и восстановить через панель администратора. Никаких скриптов импорта, никаких ошибок Ruby — просто чистый и прямой метод, который работает.

И честно говоря, я собираюсь написать инструмент на Python, который позволит пользователям просто перетащить свой SQL-файл MyBB и экспортировать его в резервную копию, готовую для Discourse. Весь этот процесс показал мне, насколько остро нужна современная и удобная для пользователя процедура импорта. Пользователи не должны проходить через такие страдания просто ради миграции своего сообщества.

Тем не менее, благодарю за помощь — я знаю, что вы просто пытались прояснить ситуацию, и я никого конкретно не обвиняю. Но весь опыт импорта определённо требует пересмотра.

Discourse написан на Ruby, поэтому необходимо написать скрипт, взаимодействующий с внутренними компонентами Discourse. Импорт — это задача, ориентированная на разработчиков.

Каждый скрипт содержит множество пограничных случаев. Я выполнил более ста импортов. Каждый из них требовал доработок по различным причинам.

Шансы написать скрипт импорта для Discourse на Python крайне близки к нулю. Даже если вам это удастся, скорее всего, он не будет работать для других. И после завершения миграции вы вряд ли будете поддерживать код для будущих изменений в mybb и Discourse.