새 Discourse 주제로 리다이렉트 일괄 가져오기

안녕하세요,

최근 기존 커스텀 플랫폼에서 Discourse로 사이트를 성공적으로 마이그레이션했습니다. 하지만 이제 새로운 Discourse 토픽으로 영구 링크/리다이렉트를 가져오는 문제를 마주하고 있습니다. Discourse에서 생성된 모든 게시물의 ID를 보유하고 있으며, 수량이 많아 수동으로 가져오기 불가능하므로 API나 명령줄을 통해 리다이렉트를 가져올 수 있는 방법을 모색하고 있습니다.

새로운 Discourse 토픽으로 리다이렉트 링크를 효율적으로 가져올 수 있는 방법이나 도구가 있는지 조언해 주실 분 없으신가요? 여러분의 의견과 제안을 진심으로 부탁드립니다.

미리 감사합니다!

마이그레이션이 가져오기 스크립트에 기반한 경우, 토픽(그리고 아마도 게시물)에는 import_id 사용자 정의 필드가 포함되어 있을 것입니다. 이 사용자 정의 필드, Permalink, 그리고 SiteSetting.permalink_normalizations를 사용하여 리디렉트를 구성할 수 있습니다.

Rails에서 다음과 같이 테스트해 볼 수 있습니다.

tcfs=TopicCustomField.where(name: 'import_id')
pcfs=PostCustomField.where(name: 'import_id')

이 필드가 없다면 작업이 매우 어려울 것입니다.

있다면, 다음과 같은 코드를 실행할 수 있습니다.

tcfs.each do |tcf|
  Permalink.create(url: "imported-topic/#{tcf.value}", topic_id: tcf.topic_id)
end

그 다음, 토픽 경로를 /imported-topic/IMPORTED_ID로 리디렉션하는 PermalinkNormalization을 만들어야 합니다.

import_scripts를 grep하여 Permalink와 permalink normalization을 설정하는 다른 가져오기 스크립트를 찾을 수도 있습니다.

Jay님, 답변해 주셔서 감사합니다. 커스텀 구조 때문에 마이그레이션에 가져오기 스크립트 대신 API 통합을 선택했습니다. Python 스크립트를 개발하여 API를 통해 게시물을 가져왔고, 각 주제에 대해 새로운 주제 ID를 성공적으로 가져왔습니다. 약 6,000개 페이지에 걸쳐 기존 URL을 새로운 주제 ID/URL로 가져왔음에도 불구하고, 어떤 매핑도 예상대로 작동하지 않습니다. 제가 놓치고 있는 부분이 무엇인지, 그리고 이 문제를 어떻게 해결할 수 있는지 조언해 주실 수 있을까요? 당신의 가이드라인이 큰 도움이 될 것입니다.