Modifier la date de création du sujet

Bonjour à tous,

Je vous écris car je tente de peupler mon forum avec des publications faites par un ensemble d’utilisateurs sur un autre ancien forum.

Ce que je souhaiterais faire, c’est créer ces fils de discussion — et les publications subséquentes qu’ils peuvent contenir — en conservant la date de création originale.

La modification du champ “created_at” au moment de la création d’un POST ne fonctionne pas. Je travaille via l’API.

TL;DR : Si un fil de discussion créé sur l’ancien forum a été publié le 14 octobre 2011 à 07h45, comment puis-je conserver la date et l’heure originales lors de son importation dans un nouveau forum Discourse ?

Merci à tous pour votre aide !

D.

Il y a une multitude de scripts de migration d’exemple dans le dépôt principal et quelques tutoriels ici pour les exploiter — pourquoi utiliser l’API ?

@merefield, merci. J’ai vu quelques scripts de migration, mais pour le moment, j’utilise directement l’API.
Je me demande simplement si ce que je veux faire (antidater un sujet) est même possible sur Discourse.

Essayez de passer la variable created_at de manière plus spécifique si ce n’est pas déjà fait.

Je viens d’examiner le code source de Discourse : il utilise Time.zone.parse pour analyser votre chaîne de date created_at. Pour votre exemple, cela donne :

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

Que diriez-vous d’une chaîne au format RFC 3339 ?

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

Merci ! Ça a marché :slight_smile: