게시물 생성 날짜 변경

여러분 안녕하세요,

다른 오래된 포럼에서 특정 사용자 그룹이 작성한 게시글을 제 포럼에 가져오려고 하다가 문제가 생겨 이렇게 글을 씁니다.

원하는 것은 해당 스레드와 그 뒤에 이어지는 게시글들을 원본 생성 날짜를 유지하면서 만드는 것입니다.

API를 통해 작업 중인데, POST 요청 시 “created_at” 필드를 수정하는 방법은 작동하지 않습니다.

요약하자면, 구 포럼에서 2011년 10월 14일 오전 7시 45분에 작성된 스레드를 새로운 Discourse 포럼으로 가져올 때, 원본 게시 날짜와 시간을 어떻게 유지할 수 있을까요?

도움 주셔서 감사합니다!

D.

코어 저장소에는 이그레이션 스크립트 예제가 많이 있고, 여기서도 이를 활용하는 방법(How-to)이 소개되어 있으니 왜 API를 사용해야 하는 걸까?

@merefield, 감사합니다. 마이그레이션 스크립트를 몇 개 봤지만, 당분간은 API를 직접 사용하겠습니다.
제가 하려는 것(스레드의 날짜를 과거로 설정)이 Discourse에서 실제로 가능한지 궁금할 뿐입니다.

아직 그렇지 않았다면, created_at 변수를 더 구체적으로 전달해 보세요.

저는 방금 Discourse 소스 코드를 살펴봤는데, created_at 날짜 문자열을 파싱하는 데 Time.zone.parse를 사용하고 있습니다. 질문자님의 예시의 경우, 그 결과는 다음과 같습니다.

pry(main)> Time.zone.parse("Oct 14, '11, at 07:45 am").to_s
=> "0011-10-14 07:45:00 UTC"

RFC 3339 문자열은 어떻게 될까요?

pry(main)> Time.zone.parse('2011-10-14T14:00:00-10:00').to_s
=> "2011-10-15 00:00:00 UTC"

감사합니다! 그 방법으로 해결됐어요 :slight_smile: