في ملاحظات الإصدار (3.2.0.beta1) الأخيرة، لاحظت إضافة discourse-ai التي لم أرها من قبل، لذا حاولت إضافة هذه الإضافة وترقية مثيل Discourse الخاص بي في نفس الوقت.
كما هو مذكور في العنوان، أرى حاليًا خطأ في عملية التهيئة حيث تفشل rake db:migrate في إنشاء فهرس فريد على theme_field_id. إليك بعض التفاصيل حول كيفية وصولي إلى هذه النقطة…
محاولة الترقية الأولية (خطأ patch-package)
أنا أستخدم تثبيتًا مقسمًا للحاويات، لذا قمت بما يلي:
-
عدلت ملف
web_only.ymlالخاص بي لإضافة إضافةdiscourse-aiالجديدةمثال. تمت إضافة سطر إضافي إلى خطافات الإضافات
## Plugins go here ## see https://meta.discourse.org/t/19157 for details hooks: after_code: - exec: cd: $home/plugins cmd: - sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git - sudo -E -u discourse git clone https://github.com/discourse/discourse-voting.git - sudo -E -u discourse git clone https://github.com/discourse/discourse-ai.git -
شغلت
./launcher bootstrap web_onlyتعطلت برسالة حول عدم العثور على
patch-package.
Git Pull → bootstrap (خطأ pg-vector)
اعتقدت أنني سأتأكد من حصولي على آخر تحديثات المشغل لأن ذلك لن يضر قبل إعادة المحاولة:
- شغلت
git pullللتأكد من حصولي على آخر التحديثات المتعلقة بالمشغل - شغلت
./launcher bootstrap web_onlyمرة أخرى
هذه المرة تلقيت رسائل خطأ متعلقة بـ pg-vector.
لقد سجلت إصدارات PostgreSQL الخاصة بي حتى أحتفظ بها لسجلاتي عندما أقرر إعادة زيارة إضافة discourse-ai.
- web_only:
- العميل:
psql (PostgreSQL) 13.10 (Debian 13.10-1.pgdg110+1)
- العميل:
- data:
- الخادم:
PostgreSQL 13.9 (Debian 13.9-1.pgdg110+1)
- الخادم:
إزالة إضافة discourse-ai → Bootstrap
ثم قمت بإزالة إضافة discourse-ai من ملف web_only.yml وشغلت التهيئة مرة أخرى.
لدهشتي، كنت لا أزال أرى أخطاء، ولكن هذه المرة يبدو أنها متعلقة بفشل rake db:migrate في إنشاء فهرس فريد index_javascript_caches_on_theme_field_id مع التفاصيل: Key (theme_field_id)=(3) is duplicated.
مساعدتكم؟ 
هذا يقودني إلى هنا بحثًا عن المساعدة. اعتقدت أنني يجب أن أتوقف وأحصل على رؤى من المجتمع قبل التعمق أكثر في حال رأى أي شخص آخر هذا من قبل.
للمرجع، لدي الإصدار 3.2.0.beta1-dev (993ed10cf0 ~ 9 أغسطس) مثبتًا.
وبينما لا أعتقد أن هذا مرتبط بهذا، أعتقد أنه لا يضر ذكر أنني قمت بالترحيل بين أجهزة المضيف في بداية هذا العام… على الرغم من أنني قمت بالعديد من تحديثات Discourse عبر واجهة المسؤول منذ ذلك الحين.
نهج الترحيل
من الذاكرة، كان هذا بشكل أساسي ترقية المثيل المصدر إلى أحدث إصدار من Discourse، وتثبيت Discourse على المضيف الجديد، وتجميد المصدر، وإجراء نسخة احتياطية من Discourse على المصدر، ومزامنة الصور/وغيرها بين المضيفين، واستعادة النسخة الاحتياطية على المضيف الجديد.