الكثير من المشاكل: الموظفون المسجلون لا يمكنهم الوصول إلى المواضيع، الترقية اليدوية تفشل، بطاقات المستخدم لا تفتح، تسجيل الدخول الافتراضي لا يعمل

مرحبًا. لقد نشرت مشكلة مشابهة من قبل، ولم تُحل تمامًا. حاليًا، توجد بعض المشاكل الجسيمة في منتدياتنا.

  1. تفشل عمليات الترقية من سطر الأوامر.
    1. لقد حاولت إزالة جميع الإضافات، لكن ذلك لم ينجح.

    2. أنشأت مثيلًا جديدًا، ونسخت نسخة احتياطية من المثيل القديم واستعدتها عبر سطر الأوامر. انتهت العملية ببعض الأخطاء:

      ERROR:  could not create unique index "index_incoming_referers_on_path_and_incoming_domain_id"
      DETAIL:  Key (path, incoming_domain_id)=(/m/search, 18) is duplicated.
      EXCEPTION: psql failed: DETAIL:  Key (path, incoming_domain_id)=(/m/search, 18) is duplicated.
      /var/www/discourse/lib/backup_restore/database_restorer.rb:87:in `restore_dump'
      /var/www/discourse/lib/backup_restore/database_restorer.rb:26:in `restore'
      /var/www/discourse/lib/backup_restore/restorer.rb:51:in `run'
      script/discourse:145:in `restore'
      /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor/command.rb:27:in `run'
      /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor/invocation.rb:127:in `invoke_command'
      /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor.rb:392:in `dispatch'
      /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor/base.rb:485:in `start'
      script/discourse:286:in `<top (required)>'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/cli/exec.rb:63:in `load'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/cli/exec.rb:63:in `kernel_load'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/cli/exec.rb:28:in `run'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/cli.rb:494:in `exec'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/cli.rb:30:in `dispatch'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/cli.rb:24:in `start'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/exe/bundle:49:in `block in <top (required)>'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/friendly_errors.rb:130:in `with_friendly_errors'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/exe/bundle:37:in `<top (required)>'
      /usr/local/bin/bundle:23:in `load'
      /usr/local/bin/bundle:23:in `<main>'
      Trying to rollback...
      Rolling back...
      Cleaning stuff up...
      Dropping functions from the discourse_functions schema...
      Removing tmp '/var/www/discourse/tmp/restores/default/2021-08-30-124350' directory...
      Unpausing sidekiq...
      Marking restore as finished...
      Notifying 'system' of the end of the restore...
      Finished!
      [FAILED]
      Restore done.
      
    3. ثم قمت بتشغيل ./launcher rebuild app لأرى ما إذا كان الأمر سيعمل، لكنني حصلت على رسائل خطأ مماثلة:

      rake aborted!
      StandardError: An error has occurred, this and all later migrations canceled:
      
      ERROR:  unsupported Unicode escape sequence
      DETAIL:  \u0000 cannot be converted to text.
      

      و

      FAILED
      --------------------
      Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with 
      return #<Process::Status: pid 4162 exit 1>
      Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
      exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
      c618c071d6a0240d55ce704cedd63d2ee4cf1df589810d2130049a78b69f327e
      
    4. كما قمت بتشغيل discourse-doctor دون جدوى.

  2. لا يمكننا تسجيل الدخول بشكل طبيعي باستخدام اسم مستخدم وكلمة مرور؛ بل يعطي ذلك خطأ.
    1. فقط طرق تسجيل الدخول الأخرى تعمل (GitHub، Google، إلخ).
  3. بطاقات المستخدمين لا تظهر للمستخدمين. إذا نقرت على اسم مستخدم، تحاول البطاقة الظهور للحظة لكنها تفشل.
    1. عند زيارة صفحة ملف المستخدم (على سبيل المثال بفتحها في علامة تبويب جديدة)، تظهر رسالة خطأ: “عفوًا، هذه الصفحة غير موجودة”.
    2. عندما يحاول المستخدم عرض تفضيلاته أو رسائله، إلخ، تظهر له أيضًا صفحة خطأ “عفوًا”.
    3. يمكننا رؤية إعدادات المستخدم الأخرى عبر واجهة المسؤول، لكننا لا نستطيع إجراء تغييرات على الإعدادات مثل الواجهة أو صورة الملف الشخصي.
  4. لا يمكن للمسؤولين عرض المواضيع أو الصفحة الرئيسية.
    1. يمكن عرض الموقع بشكل طبيعي عند عدم تسجيل الدخول.
    2. يمكن للمستخدمين الآخرين تسجيل الدخول والتفاعل مع المنتدى (إنشاء مواضيع، ردود، إلخ).
    3. إذا سجلنا الدخول بصفتنا مسؤولين، نواجه رسالة خطأ:

      عفوًا

      واجهت البرمجيات التي تشغل منتدى النقاش هذا مشكلة غير متوقعة. نعتذر عن الإزعاج.

      تم تسجيل معلومات مفصلة حول الخطأ، وتم إنشاء إشعار تلقائي. سنقوم بمراجعته.

      لا حاجة لاتخاذ أي إجراء إضافي. ومع ذلك، إذا استمرت حالة الخطأ، يمكنك تقديم تفاصيل إضافية، بما في ذلك الخطوات اللازمة لتكرار الخطأ، بنشر موضوع نقاش في فئة التعليقات في الموقع.

أي مساعدة ممتنة. إذا كانت لديك أي فكرة حول كيفية إصلاح هذه المشاكل، أو طريقة لإنشاء مثيل جديد بنسخة احتياطية تعمل، يرجى إخباري.

راجع هذا الرابط لمشكلة مشابهة (وإن كانت مختلفة): Duplicate data explorer key blocking rebuild

تحقق من مشكلات سلامة البيانات المرتبطة بقاعدة بياناتك الحالية، وأصلحها، ثم أنشئ نسخة احتياطية.

@merefield، لا أملك معرفة شاملة، لذا قمت بالتحقق باستخدام مستكشف البيانات، وهناك عمود incoming_domain_id في جدول incoming_referers من نوع integer كمفتاح أجنبي إلى incoming_domains. هل يجب أن أعمل على هذا؟ إذا كان الأمر كذلك، كيف يمكنني التحقق من ذلك؟

يبدو هذا فوضويًا للغاية، لذا إذا لم تكن واثقًا وكانت البيانات حرجة، أنصحك بالاستعانة بمدير حلول (SA) خبير لمساعدتك في استعادة كل شيء Marketplace

هل اكتشفت المشاكل؟