Как редактировать vanila.rb напрямую на продакшн-сервере?
У меня возникает та же ошибка, и я ничего не знаю о Ruby.
Как редактировать vanila.rb напрямую на продакшн-сервере?
У меня возникает та же ошибка, и я ничего не знаю о Ruby.
Привет
, если у вас стандартная установка, обычно нужно сделать следующее:
cd /var/discourse
./launcher enter app
cd script/import_scripts
Затем вы можете отредактировать файл vanilla.rb здесь.
Есть ли редактор по умолчанию? Потому что nano и vim не работают в лаунчере.
Вы можете установить его с помощью команды apt update && apt install nano; это должно сработать.
Добро пожаловать, Shin ![]()
Чтобы лучше понять, как проходит ваш импорт, вы следуете этому руководству (в нём в качестве примера используется Vanilla-скрипт)?
Большое спасибо.
Всякий раз, когда я искал на форуме, я находил это руководство:
Спасибо большое. Я пробовал это раньше, но по какой-то причине теперь это работает ![]()
Альтернативой может быть настройка редактора, например Visual Studio Code, для подключения к удалённому контейнеру и редактирования файлов оттуда, верно? Редактирование скрипта через инструмент командной строки, такой как nano, может быстро превратиться в мучительный процесс.
Кроме того, я думаю, что изменённые вами файлы будут перезаписаны при пересборке образа.
Я не совсем помню, как всё это работает, несмотря на то что уже делал несколько миграций. ![]()
Да, через командную строку править файлы довольно хлопотно. Просто у Discourse есть все инструменты и функции для управления сообществом.
Я уже мигрировал с нескольких форумов, но не знаю Ruby.
Если файлы перезаписываются, единственное решение — создать плагин на dev-боксе?
Примерно 12 месяцев назад я находился в точно такой же ситуации. Я изучил достаточно Ruby, чтобы модифицировать скрипт импорта из SMF и перенести форум с 700 000 сообщений и 8 000 пользователей. С момента нашей миграции в марте я с удовольствием использую Discourse.
Так что то, что вы пытаетесь сделать, безусловно, осуществимо, а поддержка, которую вы получите здесь, поможет вам достичь вашей цели.
Я бы хотел процитировать это:
![]()
Я также модифицировал импортеры для своих миграций, и я не знаю Ruby так хорошо.
Это совсем не обязательный навык.
Что касается того, как редактировать скрипты импорта… Я редактировал некоторые из них напрямую в контейнере, как минимум при одной из своих миграций. Это не правильный способ, поэтому я бы не рекомендовал его, но если вы будете осторожны и не потеряете свои изменения, это может сработать.
Зависит от того, что нужно изменить. Если речь идёт всего о нескольких простых правках, то всё должно быть в порядке. При использовании скрипта импорта для SMF я обнаружил, что он выполнил работу лишь частично, поэтому внёс в него значительные изменения и многократно перезапускал как частичные, так и полные импорты. Удивительно, насколько плохо всё работало на самом деле, когда начинаешь сравнивать содержимое нового форума со старым! Я написал несколько скриптов, которые полностью удаляли предыдущую тестовую систему Discourse, устанавливали новую копию Discourse, а затем запускали новый импорт с использованием последней версии скрипта.