예상대로 GUI에는 나타나지 않았습니다. 최소한의 단계는 무엇이며, 다른 테이블에 데이터를 추가해야 하는지, 아니면 재시작이 필요한지 궁금합니다.
누군가는 이것이 올바른 방법이 아니라고 말할 것이라 예상합니다. 그 점은 이해하지만, 아래에서 설명하듯 제 상황상 그렇게 해야 할 수도 있습니다(제 일부 가정은 틀릴 수 있지만, 제 이해도는 다음과 같습니다).
다른 데이터베이스 기반 포럼에서 가져오는 모든 가져오기(import) 스크립트는 Discourse 인스턴스에서 해당 포럼에 연결할 수 있는 것을 전제로 합니다. 하지만 라이브 Discourse 인스턴스에서 다른 포럼(jforum)에 접근하는 것은 어렵거나 불가능할 것이며, 반대로 오래된 포럼이 존재하는 매우 오래된 서버에 Discourse 개발 환경을 설치하는 것도 불가능합니다.
저는 Ruby on Rails를 이해하지 못하므로 기존 스크립트를 수정할 수 없지만, SQL은 이해합니다.
API를 사용할 수 있습니다(저는 5,000명의 사용자만 있습니다). 하지만 모든 사용자에게 비밀번호 재설정을 요구하는 대신 MD5 비밀번호 해시를 유지할 수 있는 플러그인/방법이 있으면 좋겠기에, API로는 이 작업을 수행할 수 없다고 생각합니다.
jforum 가져오기 스크립트가 있으므로, 이를 통해 jforum에서 데이터를 추출하기 위해 필요한 SQL을 확인한 후 CSV 파일로 만들어 데이터베이스에 로드하는 것은 문제없습니다.
일괄 가져오기(bulk importers)가 Discourse에 SQL을 추가하는 방법을 제공한다고 보이지만, SQL을 어떻게 작성해야 하는지 파악하는 데 어려움을 겪고 있습니다.
사용자를 가져오는 것이 핵심인 것 같고, 그 후 카테고리, 주제, 게시물을 추가하는 것은 그렇게 어렵지 않을 것입니다.
조금 비아냥거리는 말투네요!
대량 가져오기 스크립트가 SQL을 실행하는 것이라면(그렇게 생각하는데), 사용자를 생성하는 데 필요한 SQL을 문서화하는 것이 대량 가져오기 스크립트를 사용하려는 것과 비교했을 때 더 위험하지는 않습니다. 그리고 현재 저는 순수한 Discourse 설치 환경이라, 설령 문제가 생겨도 크게 문제가 되지는 않을 것입니다. 개발 경력은 당신보다 훨씬 길다고 자부합니다.
제가 경험이 부족한 부분은 모든 관리자 작업입니다. 로컬 Discourse 서버를 설치하려고 처음 시도했을 때 일이 꼬이기 시작했고, 만약 Discourse 서버에서 제 JForum MySQL 서버에 연결할 수 없다면 MySQL도 설치하고 데이터베이스를 이전해야 할 것입니다. 기존 jforum 스크립트는 메인 소스 트리에 커밋되어 있지 않고, 저는 아주 오래된 버전의 jforum을 사용 중이라 정상 작동할 것으로 기대하지 않습니다.
두 가지 답변 모두 검색해 보았지만 찾을 수 없었습니다. 첫 번째 경우, 일부 설치는 yaml 파일을 편집한 후 docker를 다시 시작하는 방식으로 수행되는 반면, 이번과 같은 일부는 docker 컨테이너 내부에서 설치되는 것 같아 이 경우의 '재시작’이 무엇을 의미하는지 명확하지 않아 혼란스럽습니다.
이 포럼에서 순수한 SQL 관련 내용을 거의 찾을 수 없네요.
이 오픈소스 소프트웨어를 사용하면서 유료 서비스를 강하게 권유하는 분위기가 놀랍습니다. stackoverflow에서 질문을 할 때와는 전혀 다른 경험입니다.
데이터베이스가 재생성될 줄 알았는데 그렇지 않았으니, 실제 데이터베이스가 Docker 외부에 영구적으로 저장되어 있고 rebuild 명령어가 Docker 앱을 다시 구축하는 것뿐이겠구나 싶었습니다. 또한 yaml 파일을 수정하여 추가한 dataexplorer 플러그인도 여전히 남아 있는 것을 확인했습니다. 그런데 passwordmigration 플러그인은 남아 있는 건지, 아니면 rebuild로 인해 지워지는 건지 모르겠습니다. 관리자 페이지의 플러그인 섹션에는 분명히 아무것도 없거든요.
자, passwordmigration를 설치한 후 다시 restart를 실행했는데, 또다시 사이트가 다운되었습니다. passwordmigration가 무언가를 깨뜨리는 것처럼 보입니다.
다시 rebuild를 해서 작동하게 만들었습니다(하지만 이제 passwordmigration 플러그인이 없습니다). migrationpassword를 먼저 설치하지 않고 ./launcher restart app을 실행하면 정상적으로 재시작되므로, 제 환경에서 migrationpassword와 관련된 특별한 문제인 것 같습니다.
(크리스마스 쇼핑 때문에 일이 지연되었지만) 결국 app.yml 파일을 수정하고 다시 빌드하여 migratepassword를 설치해 보았고 … 성공했습니다!
하지만 bundle exec rake plugin:install repo=http://github.com/[Communiteq](https://www.communiteq.com) (formerly DiscourseHosting)/discourse-migratepassword 옵션은 제 기본 설치 환경에서는 작동하지 않습니다. 아마도 GitHub - communiteq/discourse-migratepassword: Support migrated password hashes · GitHub 의 README.md 파일에서 이 부분을 확인하거나 제거해야 할 것 같습니다.