حدث خطأ أثناء الاستعادة من النسخة الاحتياطية: الدالة discourse_functions.raise_discourse_voting_category_settings_readonly() غير موجودة

مرحباً،

لدي نسخة احتياطية تم إنشاؤها باستخدام النسخة الرئيسية الخاصة بنا Discourse 3.4.0.beta1-dev الإصدار 633a19fcc09a41a31eadd176519483217b2ec241

أرغب في تحميل هذه النسخة الاحتياطية إلى نسخة محلية، وهي تثبيت جديد يعمل بالإصدار Discourse 3.4.0.beta1-dev 2b577950af5b24ed0d32eecc4ab6475619998fba

هذا هو السجل، هل هناك أي اقتراحات لحل بديل؟

[2024-08-03 16:45:29] CREATE INDEX
[2024-08-03 16:45:29] CREATE INDEX
[2024-08-03 16:45:29] ERROR:  function discourse_functions.raise_discourse_voting_category_settings_readonly() does not exist
[2024-08-03 16:45:29] EXCEPTION: psql failed: ERROR:  function discourse_functions.raise_discourse_voting_category_settings_readonly() does not exist

هل لديك نفس مجموعة الإضافات على نسختك المحلية؟

إعجاب واحد (1)

مرحباً،

لم أفعل، كانت المشكلة هي أن إضافة التصويت على المشاركات لم تكن مثبتة. من المثير للاهتمام أنها لم تكن مفعلة في الموقع الرئيسي (فقط مثبتة افتراضيًا) ولكنني أفترض أن ذلك كان كافياً للتسبب في الخطأ. شكراً.

إعجابَين (2)

أواجه نفس الخطأ في نسخة تطوير (حيث قمت للتو بالترقية إلى pg16 للحصول على أحدث إصدار من pgvector الذي كان يسبب فشل هذا الاستعادة سابقًا) والتي قمت للتو بسحبها (git pull).

لقد أضفت كلاً من التصويت على المشاركات والتصويت على المواضيع (كان التصويت على المواضيع موجودًا في المصدر).

كان ميلي إلى

 DROP table discourse_voting_category_settings;

ولكن بعد ذلك احتجت إلى إضافة CASCADE وخفت وقمت بمحاولة الاستعادة إلى بيئة الاختبار.

في موقع اختبار، إذا حاولت استعادة نفس قاعدة البيانات، أحصل على هذا:

ERROR:  type "hotlinked_media_status" already exists
EXCEPTION: psql failed: ERROR:  type "hotlinked_media_status" already exists
/var/www/discourse/lib/backup_restore/database_restorer.rb:92: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'

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

لكن hotlinked_media_status هو جدول أساسي من عام 2022 … لذا يجب أن يكون هذا شيئًا مختلفًا.

./db/migrate/20220428094026_create_post_hotlinked_media.rb

(بالمناسبة، أحتفظ بمفكرة لجميع المشكلات من السنوات الـ 11 الماضية وليس لدي أي ذكر لتلك المشكلة)

إعجابَين (2)

حسنًا، لقد تأكدت من أن نسخة التطوير تحتوي على جميع الإضافات الموجودة في موقع الإنتاج وقمت باستعادة النسخة الاحتياطية هناك!

لكن موقع الاختبار، (الذي يفتقد إضافة مصادقة مايكروسوفت لسبب ما، ولكن لا يمكن أن يكون ذلك هو السبب، أليس كذلك؟!؟!؟!) لا يزال يعاني من مشكلة EXCEPTION: psql failed: ERROR: type \"hotlinked_media_status\" already exists.

ولكن لو كنت قد بحثت فقط:

يبدو أن شيئًا مشابهًا قد تم إصلاحه مرة واحدة. . .

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.