Изменить дату создания темы

Всем привет,

Пишу, потому что пытаюсь наполнить свой форум постами от группы пользователей с другого старого форума.

Хочу создать эти темы — и последующие посты, которые могли быть в них — сохранив оригинальную дату создания.

Изменение поля “created_at” при создании поста не работает. Я работаю через API.

TL;DR: Если тема на старом форуме была опубликована 14 октября 2011 года в 07:45 утра, как сохранить оригинальную дату и время публикации при импорте в новый форум на Discourse?

Спасибо всем за помощь!

Д.

В основном репозитории есть множество примеров скриптов миграции, а здесь — несколько руководств по их использованию. Зачем тогда нужен 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"

Спасибо! Это помогло :slight_smile: