사이트 오프라인 전환 전 기존 사이트에서 Discourse 포럼으로 6,000명 사용자 이관

곧 종료할 예정인 사이트에는 6,000명 이상의 사용자가 있으며, 이 사용자들을 이미 운영 중이고 사이트의 툴바 링크로 연결된 Discourse 포럼으로 이식하고자 합니다.

사이트의 6,000명 사용자 중 일부는 이미 포럼 계정을 가지고 있지만, 대부분은 없습니다. 현재 시스템은 사이트에 로그인한 상태로 툴바의 ‘포럼’ 링크를 클릭하면 사이트의 인증 정보를 사용하여 Discourse 계정에 로그인할 수 있도록 되어 있으며, 이 과정에서 계정이 자동으로 생성됩니다(저는 SSO 코딩을 하지 않았으므로 추측입니다).

사이트가 오프라인으로 전환되면 모든 사용자를 포럼으로 리다이렉트할 예정입니다.

그에 앞서, 사이트의 MongoDB 데이터베이스에서 6,000명 사용자의 이메일과 이름을 내보낸 다음 다음과 같은 작업을 수행하고 싶습니다:

  1. 포럼의 Discourse 데이터베이스에 이 정보들을 가져오기
  2. 가져온 각 사용자를 위해 자동으로 계정 생성
  3. 사용자가 포럼에 처음 로그인할 때 새 비밀번호를 선택하도록 강제하기

이 작업을 수행해 보신 분이나 진행하는 데 가장 좋은 방법에 대한 조언이 있으신 분이 계신가요?

또한 ‘Bulk Import(일괄 가져오기)’ 기능에 대해서도 읽어 보았습니다. 이 방법을 선호하지는 않지만, 기존 사용자가 포럼 계정을 생성하는 가장 빠르고 쉬운 방법이 이 기능이라면 시도해 볼 의향이 있습니다.

미리 감사드립니다.

최근 비슷한 임포트를 수행한 적이 있습니다. 제 경우에는 SQLite 데이터베이스를 사용했습니다.

해당 리포지토리의 스크립트 중 일부를 기반으로 제 요구사항에 맞게 수정하여 사용했습니다. 이 포럼에는 임포트 스크립트를 실행하는 방법에 대한 좋은 가이드가 몇 가지 있습니다. 사용자가 다시 가입했을 때, 원래 이메일 계정으로 ‘비밀번호를 잊으셨나요?’ 기능을 사용하여 접근 권한을 회복해야 했습니다.

사용자 계정을 특별히 임포트하는 더 쉬운 방법이 있을 수도 있지만, 제 경험에 한해서만 말씀드릴 수 있습니다.

@piffy님의 추천대로, 기존 스크립트 중 하나를 모델로 삼아 가져오기(import) 스크립트를 작성하겠습니다. nodebb 스크립트는 mongodb를 사용하는 것으로 보이므로, 아마도 그 스크립트부터 시작할 것 같습니다. 프로그래머라면 ruby를 몰라도 기존 코드를 어느 정도 이해할 수 있을 것입니다. 프로그래머가 아니고 예산이 있다면 #marketplace에 게시물을 올리거나 https://www.literatecomputing.com/discourse-migration/을 확인해 보세요.