XenForo에서 Discourse로 이전 시 문제 발생

안녕하세요, 7단계부터 문제를 겪고 있습니다. 도움을 주시면 감사하겠습니다. 저는 Ruby를 처음 다루어 보므로, 7단계 직전에 필요한 명백한 단계가 있을 수 있는데 경험 부족으로 인해 모르고 있을 수 있습니다. 이 질문이 순진하게 들린다면 양해 부탁드립니다.

다음 명령을 실행할 때:

다음과 같은 결과가 나옵니다:

-bash: Gemfile: Permission denied

이것은 정상적으로 설치된 Discourse가 있는 새 서버에서 발생한 것입니다.

7단계부터의 단계를 작동시키기 위해 설치해야 하는 다른 구성 요소나 소프트웨어가 있을까요?

그리고 이 스레드가 원래 몇 년 전 것이었다는 것을 알았습니다. OP(원문)의 모든 단계가 여전히 올바른가요?

감사합니다!

음, 전에 전체 게시글을 하나 올렸다가 지웠습니다. 더 자세히 살펴보니 Docker가 Discourse 설치와 어떻게 상호작용하는지에 대해 심각한 오해가 있었다는 걸 깨달았거든요. 이전 게시글은 제가 뭘 말하고 있는지 제대로 알지 못해서 사람들을 혼란스럽게 했을 테니, 결국 삭제했습니다. :joy:

저는 import 파일을 /var/discourse/ 디렉토리에 수동으로 추가하고 있었는데, 사실은 Docker 내부에서 해당 파일을 찾아야 했습니다. 뒤돌아보면 명백한 실수였지만, 당시에는 꽤 혼란스러운 상태였습니다. 설명서에 이 부분이 더 명확하게 적혀 있었다면 좋았을 텐데, 결국 저 스스로 알아서 문제를 해결했습니다.

100만 개 이상의 게시물이 있는 포럼에서 이 임포트 작업을 성공적으로 수행했습니다. 몇 가지 사항을 발견했습니다.

  1. 아바타가 없습니다. 스크립트를 살펴보니 아바타에 대한 참조가 보이지 않습니다. 확인 차 여쭤보는데, 아바타가 임포트되지 않는 건가요?

  2. 스레드 조회수가 모두 0입니다. 원래 이렇게 되어야 하나요?

  3. 게스트 게시물(사용자 계정이 삭제되고 Xenforo에서 사용자명이 guest로 표시된 경우)은 모두 "system"으로 표시됩니다. 이를 system 대신 "guest"로 표시할 수 있는 방법이 있을까요? Discourse는 등록된 계정에 귀속되지 않은 게시물을 지원하나요?

아바타와 스레드 조회수 임포트를 지원하는 임포트 스크립트가 있을까요? 해당 스크립트를 살펴보고 xenforo.rb 스크립트를 수정하는 것이 얼마나 어려운지 확인해 보고 싶습니다.

vBulletin과 Xenforo 데이터베이스에 대해서는 매우 잘 알고 있습니다. 단지 Discourse에서 스레드 조회수와 아바타가 어떻게 저장되는지 방향만 알려주시면 올바르게 매핑할 수 있을 것 같습니다.

이런 것들은 전혀 놀라운 일이 아닙니다.

보통은 스크립트 디렉터리에서 찾고 있는 것(예: 아바타)을 grep으로 검색합니다. 뷰의 경우, SQL 쿼리에 추가하고 create record에 해당 필드를 넣으면 된다고 생각합니다. 게스트 사용자의 경우, 사용자 조회가 실패하면 system을 사용하는 줄이 있습니다. 이 줄을 사용자가 생성한 게스트 사용자로 교체할 수 있습니다.

이 스크립트를 살펴봤는데, 소스 데이터베이스의 ID와 정확히 일치하게 만드는 대신 전체적으로 ID가 1부터 증가하는 원인을 찾지 못하겠습니다.

기존 URL을 유지하는 것이 가장 좋으며, 이를 위해 가장 좋은 방법은 모든 ID가 유지되는 것입니다. 사용자 ID, 게시글 ID, 토픽 ID, 카테고리 ID 등 모두 해당됩니다.

스크립트는 이 모든 것을 새로운 ID로 "매핑"하고 있습니다.

수입 후 모든 ID가 동일하게 유지되도록 강제할 수 있는 명백한 방법을 놓치고 있는 건가요?

이 질문이 이 포럼의 범위를 벗어난 것이라면 이해합니다. 그래도 읽어주셔서 감사합니다! :+1:

그렇지 않습니다. 각 사용자, 게시물, 토픽, 카테고리에 대해 영구 링크(permalink)를 생성해야 합니다. 관리자 → 사용자 지정 → 영구 링크를 참고하세요. 많은 다른 가져오기(importer) 도구들이 영구 링크 생성을 지원합니다.