하지만 제가 무언가를 놓치고 있는 게 아니라면, CSV 가져오기 스크립트가 완성되지 않은 것으로 보입니다. CSV 요구 사항이나 스크립트에서 게시물을 상위 주제(topic)와 연결하는 기능이 보이지 않습니다. 최종적으로 어떻게 구현될지 모르겠습니다.
또한 원본 게시 날짜도 보존하고 싶은데, 이를 위한 필드가 없습니다.
Zendesk 가져오기 스크립트는 "topic_id"와 “created_at” 필드를 처리합니다. Zendesk 가져오기가 더 나은 선택지인지, 아니면 제 CSV 데이터에 없는 필드 때문에 오류가 발생할지 모르겠습니다. (저는 Zendesk에서 이관하는 것이 아닙니다.)
기존 CSV 가져오기 스크립트를 사용해 본 경험이 있거나, 기능을 추가하도록 수정해 보신 분이 계신지 궁금합니다.
잠시 보류했다가 이제야 다시 이 문제로 돌아왔습니다. 성공할 가능성이 있다고 판단되면 백업을 실행하고 무언가를 시도해 보려 하지만, 확신을 조금 더 갖고 싶습니다. 스크립팅 경험은 많지 않지만, @nathank 님이 제안하신 대로 csv importer가 게시글(답글)과 날짜를 어떻게 보존하는지 이해하고 싶습니다. 스크립트에는 이들에 대한 처리가 정의되어 있지 않아 보이기 때문입니다.
이 스크립트는 사용자, 이메일, 사용자 정의 필드, 카테고리, 주제에 대해 제한된 필드만 가져옵니다.
저는 사용자 정의 필드나 새 카테고리가 필요하지 않으므로, 관련 있는 CSV 파일과 지정된 필드는 다음과 같습니다:
== CSV 파일 형식
파일 이름: users
헤더: id,username
파일 이름: emails
헤더: user_id,email
파일 이름: topics_new_users
헤더: id,user_id,title,category_id,raw
파일 이름: topics_existing_users
헤더: id,user_id,title,category_id,raw
이 데이터 모델을 대충 살펴본 결과, Discourse의 주제(Topics)와 게시글(Posts)은 몇 가지 구별되는 필드를 가진 서로 다른 개체입니다:
수신된 주제와 게시글 데이터를 함께 묶어 넣어야 하는 걸까요? 그렇다면 Discourse는 주제/답글 관계를 어떻게 추론할까요 — 단순히 입력 순서에 의해서만 그런 걸까요? 답글은 공유된 ID가 처음 등장하는 주제를 기준으로 연결되는 걸까요? ID에 대해 스크립트가 언급하는 것은 이것뿐입니다: topics_existing_users를 제외하고, 데이터의 ID는 파일 간에 일관성만 유지된다면 무엇이든 될 수 있습니다.
만약 스크립트에 무언가 빠진 것이 아니라면, 제가 무언가를 놓치고 있는 것이겠지요. 어떤 설명이나 조언도 감사히 받겠습니다!