لقد قمتُ مؤخرًا بتغيير إعدادات الموقع للمجموعة (أو المجموعات) القادرة على استخدام Discourse Assign. حدث خطأ فادح عند الضغط على زر التحديث، مما أدى إلى تعطل الموقع بالكامل.
لقد قمتُ منذ ذلك الحين بتعطيل Discourse Assign، مما أعاد الموقع إلى العمل، لكنني لم أعد قادرًا على جعل Discourse Assign يعمل مرة أخرى. عند إعادة تمكينه، يتم إسقاط الموقع، ولا يمكنني تغيير إعدادات الموقع لإضافة Discourse Assign.
أفحص سجلات الأخطاء، وهناك خطأان:
ActiveRecord::StatementInvalid (PG::InvalidTextRepresentation: ERROR: invalid input syntax for integer: "patently-staff"
LINE 1: ...RE "group_users"."user_id" = 1 AND (groups.id in ('patently-...
^
: SELECT 1 AS one FROM "groups" INNER JOIN "group_users" ON "groups"."id" = "group_users"."group_id" WHERE "group_users"."user_id" = 1 AND (groups.id in ('patently-staff')) LIMIT 1)
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.0.2/lib/patches/db/pg.rb:69:in `async_exec_params'
وأيضًا:
Failed to handle exception in exception app middleware : PG::InvalidTextRepresentation: ERROR: invalid input syntax for integer: "patently-staff"
LINE 1: ...RE "group_users"."user_id" = 1 AND (groups.id in ('patently-...
^
: SELECT 1 AS one FROM "groups" INNER JOIN "group_users" ON "groups"."id" = "group_users"."group_id" WHERE "group_users"."user_id" = 1 AND (groups.id in ('patently-staff')) LIMIT 1
هل إضافة discourse-assign محدثة في نسختك؟ أم ربما قمت بتفرع الإضافة منذ فترة؟ كان هناك تغيير في إضافة discourse-assign في يوليو يبدو ذا صلة بالأخطاء التي تواجهها.
حسنًا، أفهم. هل قمت بتغيير الإعداد قبل التحديث إلى beta4 أم بعده؟
يبدو أن الترحيل التلقائي لدينا فشل بطريقة ما في تحديث إعدادك، وسأقوم بالتحقيق في سبب حدوث ذلك. هل جربت إعادة تشغيل الخادم قبل تمكين الإضافة، فربما تكون القيمة القديمة مخزنة مؤقتًا؟ أخبرني إذا لم ينجح هذا وسأزودك بنص Ruby لإصلاح المشكلة يدويًا.
حدث ذلك قبل أن أقوم بالتحديث. حدث شيء غريب أثناء إضافة الإعداد الجديد، أعتقد أنني ضغطت على علامة الصح الخضراء قبل “إضافة” اسم المجموعة الجديد.
لست متأكدًا من كيفية القيام بذلك (بالمناسبة، قد أكون أخطأت في التعبير عندما قلت “عطلت/فعلت” في منشوري الأصلي - ما قصدته هو أنني قمت بتعليق رابط git clone في ملف app.yml لإضافة الإضافة). عندما أضيف الإضافة في ملف yml، ينهار الموقع فورًا (وقبل ذلك كانت مفعلة)، لذا لا يمكنني الدخول ثم تعيينها على معطلة… ما لم أكون قد أسأت فهمك؟