하루 종일 MyBB 데이터를 Discourse로 가져오기 위해 여러 가지 방법을 시도해 보았습니다. 여기에는 공식 방법과 대안 방법도 포함됩니다. 최선을 다해 보았지만, 여전히 모든 것을 정상적으로 작동시키는 데 어려움을 겪고 있습니다. 데이터 형식 문제, 누락된 필드, 그리고 기타 여러 가지 장애물에 부딪혔습니다.
MyBB를 Discourse로 통합하는 것이 정말 이렇게 어려울 수밖에 없는 것일까요? 특히 MyBB에서 사용자, 주제, 게시글, 카테고리를 CSV 파일로 이미 내보낸 상태인데도, 가져오기 과정은 지나치게 복잡하고 때로는 구식처럼 느껴집니다.
혹시 비슷한 어려움을 겪으신 분이 계신가요? 이러한 문제 없이 MyBB 포럼을 Discourse로 원활하게 이전할 수 있는 현재 사용 가능한 단순화된 방법이나 도구가 있을까요?
다른 분들에게 효과가 있었던 가이드, 스크립트 또는 단계별 과정에 대한 조언을 정말 감사히 받겠습니다.
“공식” 방식이 MySQL 데이터베이스에 접근하고 mybb.rb 스크립트와 ENV 변수를 사용한다는 점은 이해합니다. 그리고 네, 저는 실제로 그 방법을 시도해 보았습니다. 또한 가져오기 가이드에서 권장하는 대로 로컬 Discourse 개발 환경을 전체적으로 설정해보고, 가져오기 후에 데이터를 프로덕션 환경으로 이동할 계획이었지만, 현실은 그렇지 않았습니다. “Migrating to Discourse” 카테고리에서 찾은 거의 모든 튜토리얼과 예제는 구식이거나, MyBB 가져오기 도구를 사용하면서 동일한 오류에 부딪히는 사람들의 글로 가득 차 있었습니다.
스크립트 자체가 취약합니다. 시간이 지날수록 호환성이 나빠졌고, 스키마의 사소한 차이나 엣지 케이스에서 깨집니다. 대부분의 가이드는 사용자가 Ruby, Rails, 그리고 Discourse 코드베이스의 내부 구조에 익숙하다고 가정하고 있습니다. 하지만 많은 포럼 관리자는 그렇지 않습니다. 심지어 CSV로 내보내서 문제를 단순화하려 시도해 보았지만, 제공된 도구가 작동하지 않아서 데이터를 수동으로 준비하는 데 더 가까웠습니다.
"그들은 모두 비슷하게 작동한다"고 하셨을 때 — 네, 맞지만 그게 바로 문제입니다. 2025년 현재, 상당수의 도구는 무거운 패치, 디버깅, 그리고 추측을 통해 겨우 작동하게 만들어야 합니다. 사람들이 어려움을 겪는 이유는 문서를 읽지 않아서가 아니라, 가져오기 생태계가 개발자 중심의 사고방식에 머물러 있기 때문입니다.
이 시점에서 저는 MyBB SQL을 관리 패널을 통해 업로드하고 복원할 수 있는 작동 가능한 Discourse .tar.gz 백업 파일로 변환하기로 결정했습니다. 가져오기 스크립트도, Ruby 오류도 없이, 작동하는 깔끔하고 직접적인 방법입니다.
솔직히 말해서, 저는 사람들이 MyBB SQL 파일을 그냥 드래그 앤 드롭해서 Discourse에서 사용할 수 있는 백업으로 내보낼 수 있는 Python 도구를 만들 생각입니다. 이 전체 과정은 현대적이고 사용자 친화적인 가져오기 경로가 얼마나 절실히 필요한지를 보여 주었습니다. 사용자는 커뮤니티를 이전하기 위해 이토록 많은 고통을 겪어야만 해서는 안 됩니다.
그럼에도 불구하고 도움을 주셔서 감사합니다. 단순히 명확히 하려는 의도였다는 점과 특정 누군가를 비난하는 것이 아님을 알고 있습니다. 하지만 가져오기 경험 전반에 걸쳐 대대적인 개편이 반드시 필요합니다.
Discourse는 Ruby로 작성되어 있으므로, Discourse 내부와 상호작용하는 스크립트를 작성해야 합니다. 가져오기(Import)는 개발자 중심의 제안입니다.
모든 스크립트에는 엣지 케이스가 가득합니다. 저는 100건 이상의 가져오기를 수행해 왔으며, 그중 하나도 예외 없이 다양한 이유로 조정(tweaks)이 필요했습니다.
Python으로 Discourse 가져오기 스크립트를 작성할 가능성은 거의 제로에 가깝습니다. 설령 작성하더라도 다른 사람에게는 작동하지 않을 가능성이 높습니다. 그리고 마이그레이션을 완료한 후에는 mybb와 discourse의 향후 변경 사항에 맞춰 코드를 유지보수할 가능성도 낮습니다.