안녕하세요. 이것이 가능한지 모르겠고, 가능하다면 구글링을 많이 해 보았지만 이에 대해 아무것도 찾지 못했습니다. 하지만 제 포럼의 모든 토픽에 있는 모든 답변을 생성 날짜 기준으로 정렬하고 싶습니다.
저는 구형 포럼에서 완전히 새로운 Discourse로 데이터를 마이그레이션하는 작업을 하고 있습니다. 이를 위해 답변이 처음 생성된 날짜로 Discourse에 전송할 수 있도록 API를 통해 토픽과 답변을 재생성하고 있습니다. 이 방법은 잘 작동하고 있으며, Discourse에서 생성된 답변을 확인하면 원래 날짜가 그대로 표시되는 것을 볼 수 있습니다.
하지만 모든 답변이 원래 날짜를 가지고 있음에도 불구하고, API를 통해 생성된 순서대로 정렬되어 있습니다. 이것이 버그인지, 의도된 동작인지, 아니면 API POST 호출에서 설정한 날짜 기준으로 정렬할 수 있는 방법이 있는지 모르겠습니다. 만약 방법이 있다면 이 주제에 대해 도움을 주시면 감사하겠습니다. 감사합니다.
음, 답변해 주셔서 감사합니다. 얼마 전에는 스크립트를 사용하는 방안을 생각해 봤지만, Discourse에는 테이블 간 관계가 너무 복잡해서 API를 통해 진행하기로 했습니다. 그런데 테이블 하나에 데이터를 삽입한 후 나머지 관계는 Discourse가 자동으로 처리하도록 하는 스크립트를 만들 수 있는 방법이 있을까요? 그렇게 하면 제 작업이 훨씬 쉬워질 것 같습니다.
하지만 제 말은, 지금까지 API를 통한 마이그레이션은 잘 작동해 왔다는 겁니다. Discourse가 실제로 created_at 속성으로 정렬해서 표시하지도 않는데, 엔드포인트를 통해 게시물을 생성할 때 이 속성을 보낼 수 있다는 것이 무슨 의미가 있을까요… 이건 기능 요청이 되어야 하는 것 아닌가요?
참고로, 게시물이 단순히 생성 날짜 기준으로 정렬되지 않는 이유는 게시물을 한 주제에서 다른 주제로 이동하는 기능을 지원하도록 설계되어 있기 때문입니다. 이러한 시나리오에서 날짜가 겹칠 경우 게시물이 ‘섞여 버리는’ 현상은 덜 바람직하다고 판단되었기 때문입니다.
이에 대한 이전 토론은 다음과 같습니다:
마이그레이션을 가장 잘 수행하는 방법에 대해, 제이(Jay)의 의견에 동의합니다. 여기서 이전 사례(prior art)를 따르는 것이 더 나은 선택일 가능성이 높습니다. 웹 API는 아니지만, 기존 스크립트는 이러한 점을 고려하여 저 수준의 일종의 '마이그레이션 API’에 의존하고 있습니다.
웹 API는 주로 프론트엔드 Discourse 앱을 위한 API로 설계되었습니다. 다양한 통합에 성공적으로 사용되고는 있지만, 이는 그 주된 목적에 최적화되어 있습니다.