Modifica la data di creazione dell'argomento

Ciao a tutti,

Vi scrivo perché sto cercando di popolare il mio forum con i post creati da un insieme di utenti su un altro forum vecchio.

Ciò che vorrei fare è creare questi thread – e i relativi post che potrebbero avere – mantenendo la data di creazione originale.

Modificare il campo “created_at” al momento della creazione del POST non funziona. Sto lavorando tramite l’API.

TL;DR: Se un thread creato sul vecchio forum è stato pubblicato il 14 ottobre 2011 alle 07:45, come posso mantenere la data e l’ora originali quando lo importo in un nuovo forum Discourse?

Grazie a tutti per l’aiuto!

D.

Nel repository principale ci sono un sacco di script di migrazione di esempio e qui ci sono alcune guide su come sfruttarli: perché usare l’API?

@merefield, grazie, ho visto alcuni script di migrazione, ma per il momento sto usando direttamente l’API.
Mi chiedevo solo se ciò che voglio fare (pre-datare un thread) sia affatto possibile su Discourse.

Prova a passare la variabile created_at in modo più specifico, se non l’hai già fatto.

Ho appena dato un’occhiata al codice sorgente di Discourse: utilizza Time.zone.parse per analizzare la tua stringa di data created_at. Per il tuo esempio, il risultato è:

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

Che ne dici di una stringa RFC 3339?

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

Grazie! Ha funzionato :slight_smile: