اتبعت الخطوات هنا، ونشأت نسخة احتياطية من موقعي بالكامل، ثم قمت باستنساخ خزانة AWS S3 الخاصة بي، وغيرت اسم الخزانة في إعدادات Discourse من الخزانة الأصلية إلى النسخة الاحتياطية، وأغلقت خانة اختيار “تحميل الملفات إلى 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!
ملاحظة جانبية صغيرة: rake --tasks لا يعرض هذه المهمة أو أي مهام تبدأ بـ uploads، لست متأكدًا مما إذا كان ذلك يعني شيئًا.





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