Bootstrap Container يعلق على su discourse -c 'bundle exec rake db:migrate'

نحن نعمل حاليًا على هذا الإصدار الأخير:

ما زال يعمل في حاوية الإنتاج الخاصة بنا (بدون مشاكل).

أحاول البدء (bootstrap) بناءً على هذا الإصدار:

لقد حاولت عدة مرات اليوم، وفي كل مرة يتوقف عند هذا الحد:

Screen Shot 2021-02-11 at 5.32.24 PM

تحققت من السجلات في حاوية البيانات وحاوية التطبيق الاحتياطية (التي نقوم بالبدء منها) ولم أجد أي أخطاء أو مشاكل.

في كل مرة أقوم فيها بالبدء، يتوقف عند هذا السطر:

I, [2021-02-11T10:37:25.133098 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'

هل لديكم أي تلميحات حول أين يمكنني البحث للمساعدة في التصحيح؟

لقد تفحصت جميع السجلات التي يمكنني التفكير فيها (في جميع الحاويات) ولم أستطع العثور على مشاكل.

شكرًا لكم.

معلومات إضافية:

في كل مرة يتوقف فيها العملية، وأقوم بالضغط على Ctrl+C للخروج من عملية البدء، يبدو أنه يترك عملية postmaster، والتي يمكنني قتلها لاحقًا.

إليك مثال:

تحديث:

يعمل إعادة البناء بنجاح إذا قمت بإسقاط سطر “db:migrate” في قالب الويب.

هناك مشكلة غريبة مع “rails db:migrate” تتوقف دون أي أخطاء، وهي مشكلة لم أواجهها من قبل.

أتساءل هل هناك خطأ (أو مشكلة أساسية) في هذا الانتقال الأخير؟

انظر أيضًا:

مرحبًا @neounix، نحن على علم بالمشكلة المتعلقة بالهجرة التي أشرت إليها ونعمل حاليًا على إصلاحها.

إعجابَين (2)

مرحباً @david

شكراً على ردك!

كنت أراجع عملية الترحيل للتو، وفكرتي الأولى، بصفتي «ليست خبيراً في ترحيل قواعد بيانات Discourse»، هي أن هذا قد يكون هو المشكلة؟

 add_index :dismissed_topic_users, %i(user_id topic_id), unique: true

على أي حال، لست مؤهلاً للدخول بعمق أكبر في قضايا ترحيل Discourse، لذا سأعتزل وأبقى على أهبة الاستعداد.

شكراً مرة أخرى!

هل يمكننا التوقف بأمان عن عملية الهجرة دون فقدان أي بيانات والعودة إلى عدة ترجمات سابقة؟

نجح الأمر.

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

مرحبًا @neounix،

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

4 إعجابات

مرحبًا @kris.kotlarek

شكرًا لك على التحديث:

أنا أميل إلى الموافقة على أن هذا “الهجرة الثقيلة” يتطلب على الأرجح مراجعة إضافية واختبارات تطوير صارمة على بيئة اختبار تحتوي على قاعدة بيانات كبيرة قبل دمجه في النواة. لحسن حظ موقعنا، قمت دائمًا بإعداد النظام بشكل متوازٍ مع بيئة الإنتاج، لذا لم نتعرض لأي توقف أثناء فشل الهجرة، فلا داعي للقلق من جانبنا. شكرًا لك على التراجع السريع.

ملاحظة فقط (لأكون دقيقًا تقنيًا، آسف على ذلك…): تفحصت قاعدة البيانات بعد إعادة البناء للتو، وتبين أن عملية “التراجع” لم تقم بحذف الجدول من قاعدة البيانات. لا مشكلة كبيرة، مجرد معلومة إضافية:

discourse=> \d dismissed_topic_users

                                        Table "public.dismissed_topic_users"
   Column   |            Type             | Collation | Nullable |                      Default                      
------------+-----------------------------+-----------+----------+---------------------------------------------------
 id         | bigint                      |           | not null | nextval('dismissed_topic_users_id_seq'::regclass)
 user_id    | integer                     |           |          | 
 topic_id   | integer                     |           |          | 
 created_at | timestamp without time zone |           |          | 
Indexes:
    "dismissed_topic_users_pkey" PRIMARY KEY, btree (id)
    "index_dismissed_topic_users_on_user_id_and_topic_id" UNIQUE, btree (user_id, topic_id)

شكرًا مرة أخرى على جهدك الكبير في هذا الأمر وعلى التراجع السريع عن الهجرة.

إعجابَين (2)

هذه الهجرة تعمل بسلاسة الآن، استنادًا إلى آخر التزام:

4 إعجابات

تم إغلاق هذا الموضوع تلقائيًا بعد 6 أيام. لم يعد مسموحًا بالردود الجديدة.