topic_links 테이블 데이터 삽입

자체 제작 포럼 소프트웨어에서 Discourse로 마이그레이션하는 프로세스를 작성하고 있습니다. 현재 가져오기 스크립트가 topic_links 테이블에 항목을 추가하지 않고 있어서, 이를 처리할 수 있는 rake task 같은 것이 있는지 여쭤보고 싶습니다.

(가져온 게시글에 대한 클릭 추적은 필수보다는 있으면 좋은 기능이므로, rake --tasks에서 관련 항목을 찾지 못했습니다. 다만 rake search:reindex도 같은 목록에 보이지 않는데, 가져오기 과정에서 이를 사용하고 있어서 확인해 볼 가치가 있을 것 같았습니다.)

답변을 주시면 감사하겠습니다. "아직 불가능합니다"라는 답변이라도요.

링크는 어떻게 포함하고 계신가요? 저는 그 링크들이 게시물이 게시될 때 생성되는 줄 알았던 것 같습니다.

가능합니다! 가져오기(임포트)할 게시글이 750,000개나 되고, 이를 모두 마무리할 시간이 약 일주일밖에 안 남았습니다(호스팅 업체 측 문제로 인한 사정이 있긴 하지만, 자세한 건 묻지 마세요). 그래서 현재 접근 방식은 리베이킹(재처리) 과정을 거치는 대신, 정규식(Regex)을 사용해 가져온 게시글을 수동으로 정리하는 것입니다. 링크가 그렇게 생성되는 방식이라면, 추후에 모든 것을 리베이킹하는 것을 검토해 볼 수 있을 것입니다.

이 방식은 좋은 결과로 이어질 가능성이 낮습니다. 언젠가는 게시글을 리베이킹해야 합니다.

링크가 있는 게시글 하나를 확인해서 리베이킹으로 문제가 해결되는지 살펴볼 수 있습니다. 그런 다음 링크가 있는 게시글만 선택적으로 리베이킹할 수 있습니다.

기존의 가져오기(import) 스크립트 중 하나를 사용해서 시작하는 건가요?

데이터베이스 덤프가 있다면, 최악의 경우 가져오기를 완료할 동안 잠시 플레이스홀더 페이지를 올려서 시간 여유를 확보할 수 있습니다. 잘못된 가져오기를 올려놓고 사람들이 새 게시글을 추가하게 두는 것보다는, 빈 사이트에서 가져오기를 수행하는 것이 훨씬, 훨씬 쉽기 때문입니다. 또 다른 해결책은 스크립트를 마무리하는 동안 새 포럼을 개설한 후, 최종 가져오기를 실행하여 구 데이터를 새 포럼에 추가하는 동안 포럼을 잠시 중단(pause)하는 것입니다.

제가 아는 한 괜찮을 것 같습니다. 이전에서 이관해 온 포럼 소프트웨어는 사용자가 게시글에 원하는 HTML 태그를 자유롭게 사용할 수 있도록 허용했기 때문에, 저의 방법은 (및 ), ,

와 같은 소수의 예외를 제외하고 모든 태그를 제거하는 것이었습니다. 현재 제 데이터베이스에서 cooked(처리된) 게시글과 raw(원본) 게시글의 유일한 차이는 raw 버전에는 p 태그와 br 태그 대신 줄바꿈이 있다는 점입니다.

방금 몇백 개의 게시글을 uncooked 상태로 설정하고 개발 서버에서 rebake uncooked posts 작업을 시작했는데, topic_links 테이블에 데이터가 채워지는 것 같으니 감사합니다! 문제가 해결되었습니다.

아니요, 일괄 가져오기(bulk importer) 중 하나의 단계를 따라 직접 작성했습니다.

좋았네요. 정말 좋습니다! raw에 유용한 내용이 있다면 문제없을 겁니다. 그리고 서비스 공개 후에도 언제든 다시 베이킹(rebake)할 수 있습니다.