О.
Только я подумал, что вот-вот добьюсь успеха ![]()
О.
Только я подумал, что вот-вот добьюсь успеха ![]()
Работает ![]()
Честно говоря, мне помог chatgpt. Нужно было заменить:
def parse_timestamp(timestamp)
Time.zone.at(@tz.utc_to_local(timestamp))
end
что находится в самом низу скрипта импорта,
на:
def parse_timestamp(timestamp)
return nil if timestamp.nil? || timestamp.to_i == 0
# Convert integer → Time → Apply timezone → Convert to Rails Time.zone
utc_time = Time.at(timestamp.to_i).utc
local_time = @tz.utc_to_local(utc_time)
Time.zone.at(local_time)
end
…теперь он обрабатывает темы, и я уже вижу, как что-то появляется на сайте. Я вернусь с отчетом и, надеюсь, смогу сказать, что всё прошло успешно. Если так и будет, я, возможно, создам здесь новую тему с руководством о том, что я сделал, чтобы всё заработало.
Сработало, и это отлично. Спасибо @Pfaffman за помощь, мы очень ценим это.
Теперь 20 лет тем и сообщений уже в Discourse, и удивительно мало работы по очистке — скрипт отличный, как только вы его настроите ![]()
Чтобы запустить скрипт, я установил mariadb-server на хосте. На хосте мне пришлось убедиться, что фаервол открыт, MySQL слушает правильный порт, а пользователь root имеет права на доступ с удалённого хоста (в данном случае хост VPS), обновив его права доступа в MySQL.
(после этого все настройки фаервола и прав доступа были снова закрыты)
Затем внутри контейнера я указал скрипту IP-адрес хоста (по умолчанию для Docker), и всё пошло как надо… кроме проблемы со временем, для которой я нашёл решение, описанное здесь:
Это краткое описание того, что я сделал. Если кто-то наткнётся на эту тему, пытаясь сделать то же самое, и застрянет, обращайтесь — я постараюсь помочь всем, что узнал за последние несколько дней!
Я очень рад, что всё заработало. Мой первоначальный прогноз о том, что это займёт выходные, оказался, вероятно, вполне точным!
Отлично! Я так рад, что у вас получилось!