トピック作成日の変更

みなさん、こんにちは。

私は、別の古いフォーラムの特定のユーザーが投稿した記事を使って、自分のフォーラムに投稿を移行しようとしています。

やりたいことは、スレッドとそれに関連する投稿を作成し、元の作成日時を保持することです。

POST 時に「created_at」フィールドを変更してもうまくいきません。API を使用して作業しています。

要約:古いフォーラムで 2011 年 10 月 14 日午前 7 時 45 分に投稿されたスレッドを、新しい Discourse フォーラムにインポートする際、元の投稿日時をどのように保持すればよいでしょうか?

ご協力ありがとうございます!

D.

コアリポジトリには多数のマイグレーションスクリプトの例があり、ここにはそれらを活用する方法もいくつかあります。なぜ 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"
「いいね!」 1

ありがとうございます!それで解決しました :slight_smile: