Ho seguito i passaggi indicati qui, ho effettuato un backup dell’intero sito, clonato il mio bucket AWS S3, modificato il nome del bucket nelle impostazioni di Discourse dal bucket originale a quello di backup e disattivato la casella “caricamenti su S3” nelle impostazioni.
Quindi ora sono finalmente pronto per avviare la migrazione da S3… ma fallisce. ![]()
Il messaggio di errore
root@ubuntu:/var/www/discourse# rake uploads:migrate_from_s3
Migrazione dei caricamenti da S3 a storage locale per 'default'...
rake abort!
NoMethodError: metodo 'downcase' non definito per 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
(Vedi il trace completo eseguendo il task con --trace)
(Ecco la riga su GitHub dove fallisce – immagino non riesca a ottenere il valore di s3_bucket?)
Altre cose che ho provato
-
Ho provato ad aggiungere le credenziali alla riga di comando, ma non ha fatto alcuna differenza. Ad esempio:
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 -
Ho anche provato a cambiare il nome del bucket S3 nelle mie impostazioni tornando al nome del bucket originale, ma senza successo, stesso risultato.
-
Ho anche provato a ricompilare l’app. Stesso risultato.
@vinothkannans sai cosa sta succedendo?
Per favore aiutatemi, amici di Discourse!
p.s. piccola nota a margine: rake --tasks non elenca questo task né alcun task che inizi con uploads, non so se questo significhi qualcosa.





I tried “Rebuild HTML” on the post and that didn’t change it.