Привет! Я переносит огромное количество контента со своего старого (проприетарного) программного обеспечения для форумов на новый форум Discourse.
Я не пишу на Ruby, поэтому не смог воспользоваться примерами скриптов импорта, предоставленными Discourse… это просто не подходит для меня. Поэтому я вызываю API для выполнения всех шагов.
Проблема в том, что я сталкиваюсь с множеством проблем по пути… в основном с ограничениями частоты запросов, а также с дублированием тем и получением содержимого сообщений после всех проверок (например, минимальная длина сообщения, которую я наконец-то смог изменить на ‘1’ в настройках).
Есть ли какой-то другой или лучший вариант? Могу ли я как-то напрямую записать данные в базу данных или…?
Если вы владеете каким-либо языком программирования, лучшим решением будет использование существующих скриптов импорта. Скрипты массового импорта напрямую изменяют SQL, но при этом они написаны на Ruby.
Хорошо… Я изучу скрипты… Я опытный программист на других языках, просто не Ruby/RoR.
…
Хорошо, я вернулся после изучения существующих скриптов импорта на GitHub. Судя по тому, что я вижу, это очень похоже на код, который я уже написал для импорта: много циклов для получения пользователей, тем и, наконец, сообщений. Специальный код для работы с вложениями (их отдельная загрузка, получение внутреннего URL Discourse и добавление этого URL к телу сообщения).
Есть ли какие-то специальные вызовы API или что-то ещё, что я упускаю в этих скриптах и что могло бы мне помочь? Проблема не в том, что я не могу написать свой собственный скрипт импорта (используя API), моя проблема в том, что это кажется громоздким, и я wondering, есть ли более плавное/элегантное решение. Если в примерных скриптах есть какие-то «трюки» (например, специальные вызовы API?), которые я могу использовать в другом языке, я бы с удовольствием понял их.
Хех, да, мы уже выяснили это, и также выяснили, что я не знаю RoR, поэтому тратить время на переписывание одного из существующих скриптов — тоже не лучшее решение для меня. Если у вас есть какие-либо другие рекомендации, которые могли бы мне помочь здесь я бы искренне рад их услышать. Спасибо.
Скрипты основной миграции — отличное начало. Еще месяц назад я тоже никогда не программировал на Ruby.
На самом деле, несколько дней назад я написал собственный скрипт на PHP для помощи в миграции (прошло уже целое десятилетие с тех пор, как я работал с PHP), но решил переписать его на Ruby, и это оказалось «как по маслу», ха-ха!
Теперь я фанат Ruby!
Сначала Ruby казался мне немного странным, но теперь всё начинает обретать смысл.
Просто ныряй с головой, и у тебя всё получится!
Или… найми одного из программистов здесь, чтобы он помог тебе!