가져온 게시물을 읽음으로 표시하는 방법

현재 자체 개발한 포럼에서 Discourse로 데이터를 가져오는 작업을 진행 중입니다. 기존 포럼에는 약 30,000개의 게시물이 있으며, 이상적으로는 가져오기 과정에서 이 모든 게시물을 읽음 상태로 표시하고 싶습니다. 제 이해가 맞다면 관련 테이블은 post_timings입니다.

질문은 다음과 같습니다. 모든 사용자의 각 게시물에 대해 가장 최근 게시물에 대한 항목만 post_timings에 추가하면 충분한가요? 아니면 약 700,000개의 게시물 * 2,000명의 사용자에 해당하는 모든 게시물에 대해 항목을 추가해야 하나요?

저희의 구체적인 사용 사례에 대해 몇 가지 세부 사항을 추가하겠습니다. 이주하려는 기존 포럼 소프트웨어는 기능이 제한적이지만 단순하며, 회원들의 연령대나 기술 숙련도도 다양합니다. 이주를 준비하는 동안 회원들이 직접 사용해 볼 수 있도록 Discourse 인스턴스를 설정해 두었는데, 다소 압도적으로 느껴진다는 의견이 몇 건 있었습니다.

저는 이것이 단순히 학습 곡선 문제라고 생각합니다. 저도 IT 전문가이지만 처음에는 그런 느낌을 조금 받았습니다. 사람들이 변화에 익숙해지면, Discourse가 기존 소프트웨어보다 명확한 개선점이라는 것을 깨달을 것이라고 생각합니다.

제가 걱정하는 것은 사람들이 그 단계에 도달하기 전에 이탈하는 것입니다. 예를 들어, 가져온 스레드에 누군가가 처음 답글을 달면 사용자가 1,000개의 게시물이 있는 주제의 첫 번째 게시글로 되돌려진다면, 이는 사용성에 큰 타격이 될 것입니다. 일부 회원들은 아예 포기할 수도 있다고 생각합니다. 그래서 저는 가져온 모든 게시물을 읽음으로 표시하고, 사용자가 새로운 콘텐츠에 바로 접근할 수 있도록 하는 방안을 매우 원하고 있습니다.

이 글을 올리기 전에 아카이브를 검색해 보았지만, 이 특정 질문에 대한 답변은 찾지 못했습니다.

마이그레이션 중에 이 작업을 더 쉽게 수행할 수 있는 방법이 있을 것 같은데, @gerhard 님이 아실까요?

안녕하세요 @gerhard, 가져온(topics) 주제를 읽음으로 표시하는 방법에 대해 알고 계신 정보가 있으신가요?

topic_users 테이블과 post_timings 테이블에 레코드를 생성해야 합니다. TopicUser와 PostTiming 모델의 메서드를 사용하거나, SQL을 사용하여 더 효율적으로 처리할 수 있습니다.

다음은 작성자에게 게시물을 읽은 것으로 표시하는 기본 가져오기 스크립트의 예시입니다. 사용 사례에 맞게 수정해야 합니다.