Я знаю, что существует «фронтенд-способ» приглашения пользователей через CSV, однако в моём случае это не сработает, так как это приведёт к отправке писем тысячам людей, которые будут добавлены на сайт.
При попытке добавить их через CLI я получаю следующие ошибки.
/var/www/discourse# rails runner script/import_scripts/csv_importer.rb /var/www/discourse/tmp/users.csv
Загрузка существующих групп…
Загрузка существующих пользователей…
Загрузка существующих категорий…
Загрузка существующих постов…
Загрузка существующих тем…
Файл не существует: /var/www/discourse/tmp/emails.csv
Файл не существует: /var/www/discourse/tmp/custom_fields.csv
bundler: не удалось загрузить команду: script/rails (script/rails)
/var/www/discourse/script/import_scripts/csv_importer.rb:29:in initialize': undefined method headers’ for nil (NoMethodError)
Это должно выполнить задачу создания всех этих пользователей (у них не будет паролей, поэтому им нужно будет получить один, скорее всего, путем отправки им электронного письма).
Вам, вероятно, потребуется немного понимать программирование, чтобы это заработало.
У меня практически нет навыков программирования. Я предположил, что всё будет так просто: запустить файл import.rb, «указывающий» на users.csv.
Сообщения об ошибках, которые он выдал, абсолютно для меня не имеют смысла. Я посмотрел на строку 29 скрипта импорта, и там упоминались заголовки, поэтому я решил, что речь идёт о столбцах CSV-файла, и потратил некоторое время на их настройку, но безрезультатно.
Что ж, вы не продвинулись далеко, так как файл даже не открылся.
Это один из тех раздражающих моментов, когда процесс может занять как 30 секунд, так и часы.
Но вы можете попробовать скопировать файл туда. Это непросто, потому что это одно место в файловой системе компьютера и другое — внутри контейнера. Как только вы решите эту проблему, сможете начать работать с заголовками столбцов.
Я давно не смотрел код, но в CSV-файле пользователей обязательно должен быть указан адрес электронной почты. Темы и сообщения находятся в другом CSV-файле.
Так что либо поместите файл туда, либо установите переменную окружения CSV_USER_FILE в путь к файлу, куда вы его поместили.
О, но первое, что делает скрипт, — это считывает ВСЕ ожидаемые CSV-файлы (все строки вида @... = load_csv), поэтому вам нужно закомментировать или удалить те, которые вам не нужны. Кроме того, import_users работает с данными пользовательских полей, поэтому это тоже нужно изменить.
Если этого недостаточно, и у вас есть бюджет, отправьте мне (в моем профиле) сумму по электронной почте, и я посмотрю, как могу помочь вам за эту сумму.