修改主题创建日期

大家好,

我写这封信是因为我正尝试将另一个旧论坛上由一组用户发布的帖子填充到我的论坛中。

我想做的是创建这些主题及其后续回复,同时保留原始的创建日期。

在通过 API 发帖时直接修改“created_at”字段不起作用。

简而言之:如果旧论坛上的某个主题发布于 2011 年 10 月 14 日上午 07:45,那么在将其导入新的 Discourse 论坛时,该如何保留原始的发帖日期和时间?

感谢大家的帮助!

D.

核心仓库中有大量示例迁移脚本,这里也有一些如何利用它们的教程——为什么要使用 API 呢?

@merefield,谢谢。我看过一些迁移脚本,但目前我直接通过 API 操作。
我只是想知道,我想做的事(为话题设置过去的日期)在 Discourse 上是否可行。

如果你还没有这样做,尝试更明确地传递 created_at 变量。

我刚刚查看了 Discourse 的源代码,它使用 Time.zone.parse 来解析你的 created_at 日期字符串。以你的例子为例,结果是:

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: