Я следовал этим инструкциям: сделал полную резервную копию сайта, клонировал свой бакет AWS S3, изменил имя бакета в настройках Discourse с оригинального на резервное и снял галочку «uploads to S3» в настройках.
Теперь я, наконец, готов начать миграцию с S3… но она завершается ошибкой. ![]()
Сообщение об ошибке
root@ubuntu:/var/www/discourse# rake uploads:migrate_from_s3
Migrating uploads from S3 to local storage for 'default'...
rake aborted!
NoMethodError: undefined method `downcase' for nil:NilClass
/var/www/discourse/app/models/global_setting.rb:107:in `s3_bucket_name'
/var/www/discourse/app/models/site_setting.rb:157:in `absolute_base_url'
/var/www/discourse/lib/tasks/uploads.rake:138:in `migrate_from_s3'
/var/www/discourse/lib/tasks/uploads.rake:118:in `block in migrate_all_from_s3'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rails_multisite-2.2.2/lib/rails_multisite/connection_management.rb:68:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rails_multisite-2.2.2/lib/rails_multisite/connection_management.rb:78:in `each_connection'
/var/www/discourse/lib/tasks/uploads.rake:118:in `migrate_all_from_s3'
/var/www/discourse/lib/tasks/uploads.rake:93:in `block in <top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tasks: TOP => uploads:migrate_from_s3
(See full trace by running task with --trace)
(Вот строка в GitHub, где происходит сбой— похоже, что значение s3_bucket не получается получить?)
Другие попытки решения
-
Я пробовал добавлять учётные данные в командную строку, но это не помогло. Например:
DISCOURSE_S3_BUCKET="dn-forum-storage-backup" DISCOURSE_S3_REGION="us-east-1" DISCOURSE_S3_ACCESS_KEY_ID="xxxxxxxxxxxxxxxxxxxx" DISCOURSE_S3_SECRET_ACCESS_KEY="xxxxxxxxxxxxxxxxxxxx" DISCOURSE_S3_CDN_URL="https://dn-forum-storage-backup.s3.us-east-1.amazonaws.com" rake uploads:migrate_from_s3 -
Также я пробовал вернуть имя бакета S3 в настройках к оригинальному значению, но результата нет — та же ошибка.
-
Попробовал пересобрать приложение. Результат тот же.
@vinothkannans, вы не знаете, что происходит?
Пожалуйста, помогите, друзья из Discourse!
p.s. маленькое примечание: команда rake --tasks не показывает эту задачу или какие-либо задачи, начинающиеся с uploads. Не знаю, имеет ли это какое-то значение.

