Alterar data de criação do tópico

Olá a todos,

Estou escrevendo porque estou tentando popular meu fórum com postagens feitas por um conjunto de usuários em outro fórum antigo.

O que eu gostaria de fazer é criar esses tópicos — e as postagens subsequentes que eles possam ter — mantendo a data original de criação.

Alterar o campo “created_at” no momento da criação da postagem não funciona. Estou trabalhando via API.

TL;DR: Se um tópico criado no fórum antigo foi postado em 14 de outubro de 2011, às 07:45, como mantenho a data e hora originais da postagem ao importá-lo para um novo fórum Discourse?

Obrigado a todos pela ajuda!

D.

Existem vários scripts de migração de exemplo no repositório principal e alguns tutoriais aqui para explorá-los — por que usar a API?

@merefield, obrigado. Já vi alguns scripts de migração, mas, por enquanto, estou usando a API diretamente.
Só estou me perguntando se o que quero fazer (antecipar a data de criação de um tópico) é mesmo possível no Discourse.

Tente passar a variável created_at de forma mais específica, caso ainda não tenha feito isso.

Acabei de analisar o código-fonte do Discourse; ele usa Time.zone.parse para analisar a string de data created_at. Para o seu exemplo, o resultado é:

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

E quanto a uma string no formato RFC 3339?

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

Obrigado! Isso resolveu o problema :slight_smile: