I followed the steps here, backed up my entire site, cloned my AWS S3 bucket, changed the bucket name in Discourse settings from the original bucket to the backup, and turned off “uploads to S3” checkbox in settings.
So now I’m finally ready to start the migration off S3… and it fails.
The error message
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)
(Here’s the line in github where it fails– I guess it can’t get the value of
Other things I tried
I tried adding the credentials to the command line, but that didn’t make a difference. i.e.
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
I also tried changing the S3 bucket name in my settings back to the original bucket name, still no luck, same result.
I also tried rebuilding the app. Same result.
@vinothkannans do you know what’s going on?
Please help, Discourse friends!
p.s. small side note:
rake --tasks doesn’t list this task or any tasks that start with
uploads, not sure if that means anything.