فشل الترقية من 2.8.0.beta1 إلى beta4 في ترحيل قاعدة البيانات؟

مرحباً،

أقوم بتشغيل أمر launcher rebuild للترقية من الإصدار 2.8.0.beta1 إلى beta4.

لقد قمت بتعطيل جميع الإضافات غير الرسمية، ولكن يبدو أن المشكلة موجودة في النواة نفسها.

ملف app.yaml لبناء حاوية واحدة بسيطة:

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
  - "templates/cloudflare.template.yml"

سجل البناء:


I, [2021-08-04T16:28:25.000925 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
NOTE: nokogumbo: Using Nokogiri::HTML5 provided by Nokogiri. See https://github.com/sparklemotion/nokogiri/issues/2205 for more information.
rake aborted!
NoMethodError: undefined method `client_setting' for #<Class:0x0000560ce241d530>
Did you mean?  client_settings
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/kernel.rb:34:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies.rb:332:in `block in require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies.rb:299:in `load_dependency'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies.rb:332:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/application.rb:360:in `require_environment!'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/application.rb:526:in `block in run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tasks: TOP => db:migrate => db:load_config => environment

يبدو أن الأمر يتعلق بهجرة قاعدة بيانات مرة أخرى؟

(See full trace by running task with --trace)
I, [2021-08-04T16:28:27.237146 #1]  INFO -- : 
I, [2021-08-04T16:28:27.237451 #1]  INFO -- : Terminating async processes
I, [2021-08-04T16:28:27.237485 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 57
I, [2021-08-04T16:28:27.237508 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 174
2021-08-04 16:28:27.237 UTC [57] LOG:  received fast shutdown request
174:signal-handler (1628094507) Received SIGTERM scheduling shutdown...
2021-08-04 16:28:27.238 UTC [57] LOG:  aborting any active transactions
2021-08-04 16:28:27.240 UTC [57] LOG:  background worker "logical replication launcher" (PID 66) exited with exit code 1
2021-08-04 16:28:27.241 UTC [61] LOG:  shutting down
174:M 04 Aug 2021 16:28:27.263 # User requested shutdown...
174:M 04 Aug 2021 16:28:27.263 * Saving the final RDB snapshot before exiting.
174:M 04 Aug 2021 16:28:27.306 * DB saved on disk
174:M 04 Aug 2021 16:28:27.306 # Redis is now ready to exit, bye bye...
2021-08-04 16:28:27.311 UTC [57] LOG:  database system is shut down


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 3928 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'"]}
094fab4de06ec9e94ef5e3be53e68870df6add7eb7991dfe037198cf52de764f
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

في أيام وثائق Discourse، الأمور على ما يرام. لكن لا يمكنني إتمام البناء.

سعيد بأي مساعدة!

أطيب التحيات،
ماريوس

هل يمكنك لصق بضعة أسطر إضافية قبل تتبع الأخطاء؟

بالتأكيد.

1:  rails_multisite (3.0.0) من /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rails_multisite-3.0.0.gemspec
استخدام discourse-ember-rails 0.18.6
1:  discourse-ember-rails (0.18.6) من /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/discourse-ember-rails-0.18.6.gemspec
3:  nio4r (2.5.8) من /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/nio4r-2.5.8.gemspec
جاري جلب puma 5.4.0
جاري تثبيت puma 5.4.0 مع امتدادات أصلية
جاري بناء امتدادات أصلية. قد يستغرق هذا بعض الوقت...
1:  puma (5.4.0) من /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/puma-5.4.0.gemspec
0:  oj (3.12.3) من /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/oj-3.12.3.gemspec
2:  ffi (1.15.3) من /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/ffi-1.15.3.gemspec
استخدام mini_suffix 0.3.2
3:  mini_suffix (0.3.2) من /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/mini_suffix-0.3.2.gemspec
استخدام rbtrace 0.4.14
3:  rbtrace (0.4.14) من /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rbtrace-0.4.14.gemspec
استخدام sassc 2.0.1
3:  sassc (2.0.1) من /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sassc-2.0.1.gemspec
استخدام sassc-rails 2.1.2
2:  sassc-rails (2.1.2) من /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sassc-rails-2.1.2.gemspec
اكتمل الحزمة! 126 اعتمادية Gemfile، 172 gem مثبتة الآن.
لم يتم تثبيت Gems في مجموعات 'test' و 'development'.
تم تثبيت Gems المضمنة في `./vendor/bundle`
رسالة ما بعد التثبيت من rubyzip:
جاري وصول RubyZip 3.0!
**********************

تم تحديث واجهة API العامة لبعض فئات Rubyzip لاستخدام المعلمات المسماة للمعاملات الاختيارية. يرجى التحقق من استخدامك للفئات التالية:
  * `Zip::File`
  * `Zip::Entry`
  * `Zip::InputStream`
  * `Zip::OutputStream`

يرجى التأكد من أن ملفات Gemfiles وملفات .gemspecs الخاصة بك مقيدة بشكل مناسب لتجنب تعطل غير متوقع عند إصدار الإصدار 3.0 (على سبيل المثال، ~> 2.3.0).
راجع https://github.com/rubyzip/rubyzip للحصول على التفاصيل. كما يسرد سجل التغييرات مزايا أخرى وإصلاحات للأخطاء تم تنفيذها منذ الإصدار 2.3.0.

I, [2021-08-04T17:23:05.372537 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake plugin:pull_compatible_all'
ملاحظة: nokogumbo: استخدام Nokogiri::HTML5 المقدم من Nokogiri. راجع https://github.com/sparklemotion/nokogiri/issues/2205 للحصول على مزيد من المعلومات.


I, [2021-08-04T17:23:07.700176 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
ملاحظة: nokogumbo: استخدام Nokogiri::HTML5 المقدم من Nokogiri. راجع https://github.com/sparklemotion/nokogiri/issues/2205 للحصول على مزيد من المعلومات.
انتهت rake بشكل غير متوقع!
NoMethodError: الطريقة `client_setting` غير معرفة لـ #<Class:0x000055fa73b18780>
هل تقصد؟  client_settings
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.3.2/lib/active_record/dynamic_matchers.rb:22:in `method_missing'
/var/www/discourse/plugins/discourse-tagging/plugin.rb:13:in `block in activate!'
/var/www/discourse/lib/plugin/instance.rb:447:in `block in notify_after_initialize'
/var/www/discourse/lib/plugin/instance.rb:445:in `each'
/var/www/discourse/lib/plugin/instance.rb:445:in `notify_after_initialize'
/var/www/discourse/config/application.rb:351:in `each'
/var/www/discourse/config/application.rb:351:in `block (2 levels) in <class:Application>'
/var/www/discourse/lib/plugin_initialization_guard.rb:5:in `plugin_initialization_guard'
/var/www/discourse/config/application.rb:350:in `block in <class:Application>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/lazy_load_hooks.rb:68:in `block in execute_hook'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/lazy_load_hooks.rb:61:in `with_execution_control'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/lazy_load_hooks.rb:66:in `execute_hook'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/lazy_load_hooks.rb:52:in `block in run_load_hooks'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/lazy_load_hooks.rb:51:in `each'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/lazy_load_hooks.rb:51:in `run_load_hooks'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/application/finisher.rb:140:in `block in <module:Finisher>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/initializable.rb:32:in `instance_exec'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/initializable.rb:32:in `run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/initializable.rb:61:in `block in run_initializers'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/initializable.rb:60:in `run_initializers'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/application.rb:384:in `initialize!'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/railtie.rb:207:in `public_send'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/railtie.rb:207:in `method_missing'
/var/www/discourse/config/environment.rb:7:in `<main>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.7/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/kernel.rb:34:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies.rb:332:in `block in require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies.rb:299:in `load_dependency'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies.rb:332:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/application.rb:360:in `require_environment!'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/application.rb:526:in `block in run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
المهام: TOP => db:migrate => db:load_config => environment
(راجع التتبع الكامل بتشغيل المهمة مع --trace)
I, [2021-08-04T17:23:11.177809 #1]  INFO -- : 
I, [2021-08-04T17:23:11.178039 #1]  INFO -- : إنهاء العمليات غير المتزامنة
I, [2021-08-04T17:23:11.178063 #1]  INFO -- : إرسال INT إلى HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 55
I, [2021-08-04T17:23:11.178098 #1]  INFO -- : إرسال TERM إلى exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 172
172:signal-handler (1628097791) تم استلام SIGTERM وجدولة الإغلاق...
2021-08-04 17:23:11.178 UTC [55] LOG:  تم استلام طلب إغلاق سريع
2021-08-04 17:23:11.179 UTC [55] LOG:  إلغاء أي معاملات نشطة
2021-08-04 17:23:11.180 UTC [55] LOG:  خرج عامل الخلفية "logical replication launcher" (معرف العملية 64) مع رمز خروج 1
2021-08-04 17:23:11.181 UTC [59] LOG:  جاري الإغلاق
2021-08-04 17:23:11.251 UTC [55] LOG:  تم إيقاف نظام قاعدة البيانات
172:M 04 Aug 2021 17:23:11.264 # تم طلب إغلاق من قبل المستخدم...
172:M 04 Aug 2021 17:23:11.264 * حفظ لقطة RDB النهائية قبل الخروج.
172:M 04 Aug 2021 17:23:11.300 * تم حفظ قاعدة البيانات على القرص
172:M 04 Aug 2021 17:23:11.300 # Redis جاهز الآن للخروج، مع السلامة...


فشل
--------------------
Pups::ExecError: فشل cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' مع إرجاع #<Process::Status: pid 4010 exit 1>
موقع الفشل: /pups/lib/pups/exec_command.rb:112:in `spawn'
فشل التنفيذ مع المعلمات {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
9a5092784c9c0a57bcd02f5750638b9f565840ca4c6afa3346860ff01ac3ab5d
** فشل التمهيد ** يرجى التمرير للأعلى والبحث عن رسائل خطأ سابقة، قد يكون هناك أكثر من خطأ واحد.
قد يساعد ./discourse-doctor في تشخيص المشكلة.

تم إيقاف هذه الإضافة عن العمل في عام 2016 :scream:. يرجى إزالتها من ملف app.yml وإعادة البناء.

آه :innocent:

تم حل المشكلة. كان ذلك في قسم “لا تلمس” :slight_smile: