خطأ أثناء الترقية من الإصدار التجريبي 3.1.x إلى الأحدث

أقوم بالترقية كل يومين إلى 3 أيام تقريبًا، ونجحت آخر ترقية.

ترقيتي اليوم عبر عنوان URL /admin/upgrade فشلت في البداية.

ثم قمت بما يلي:

cd /var/discourse
sudo git pull
sudo ./launcher rebuild app

أسفر هذا أيضًا عن خطأ:

/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
I, [2023-01-20T15:27:00.834259 #1]  INFO -- : == 20230118020114 AddPublicTopicCountToTags: migrating ========
-- add_column(:tags, :public_topic_count, :integer, {:default=>0, :null=>false})
   => 0.0138s
-- execute("UPDATE tags t\nSET public_topic_count = x.topic_count\nFROM (\n  SELECT\n    COUNT(topics.id) AS topic_count,\n    tags.id AS tag_id\n  FROM tags\n  INNER JOIN topic_tags ON tags.id = topic_tags.tag_id\n  INNER JOIN topics ON topics.id = topic_tags.topic_id AND topics.deleted_at IS NULL AND topics.archetype != 'private_message'\n  INNER JOIN categories ON categories.id = topics.category_id AND NOT categories.read_restricted\n  GROUP BY tags.id\n) x\nWHERE x.tag_id = t.id\nAND x.topic_count <> t.public_topic_count;\n")

I, [2023-01-20T15:27:00.834823 #1]  INFO -- : Terminating async processes
I, [2023-01-20T15:27:00.834868 #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: 42
I, [2023-01-20T15:27:00.835173 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
2023-01-20 15:27:00.835 UTC [42] LOG:  received fast shutdown request
103:signal-handler (1674228420) Received SIGTERM scheduling shutdown...
2023-01-20 15:27:00.849 UTC [42] LOG:  aborting any active transactions
2023-01-20 15:27:00.851 UTC [42] LOG:  background worker "logical replication launcher" (PID 51) exited with exit code 1
2023-01-20 15:27:00.855 UTC [46] LOG:  shutting down
2023-01-20 15:27:00.901 UTC [42] LOG:  database system is shut down
103:M 20 Jan 2023 15:27:00.905 # User requested shutdown...
103:M 20 Jan 2023 15:27:00.905 * Saving the final RDB snapshot before exiting.
103:M 20 Jan 2023 15:27:00.950 * DB saved on disk
103:M 20 Jan 2023 15:27:00.950 # Redis is now ready to exit, bye bye...


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse &amp;&amp; su discourse -c 'bundle exec rake db:migrate' failed with return #&lt;Process::Status: pid 390 exit 1&gt;
Location of failure: /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** 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.
37cbe5dc5c82e0a41e9e1deea5b99f5e643bfe6bcd53d52c38e3e855a85ed81e

بالتكرار أكثر، أرى إدخالًا:

PG::UniqueViolation: ERROR:  duplicate key value violates unique constraint "index_tags_on_name"
DETAIL:  Key (name)=(net) already exists.

أنا حقًا في حيرة من أمري بشأن كيفية الإصلاح/الحل.

منتدى الخاص بي متوقف الآن. لقد قمت بتشغيل sudo ./launcher rebuild app مرة أخرى. فشل أيضًا.

هل يمكن لأحد أن يساعدني ببعض الاقتراحات حول كيفية الحل؟

قم بتشغيل ./launcher start app لإعادة تشغيل الصورة القديمة. قد يؤدي ذلك إلى إعادة منتداك إلى الإنترنت.

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

شكراً جزيلاً.
الحاوية تعمل مرة أخرى، لكن الخطأ لا يزال قائماً.
على الأرجح لدي نفس المشكلة كما هو موضح هنا:

لن أحاول حلها بنفس الطريقة الموضحة هناك.

تحديث 1 - الحل

حسناً، يبدو أنني تمكنت من حل المشكلة باتباع هذه الخطوات:

  1. قمت بتحرير ملف app.yaml وقمت بما يلي:
  2. قمت بإعادة بناء الصورة.
  3. قمت بتفعيل وبدء إضافة مستكشف البيانات واستخدمت هذا الاستعلام لتحديد العلامات المكررة.
  4. استخدمت واجهة المستخدم الإدارية العادية لتحديد العلامات. ثم قمت بإعادة تسمية علامة واحدة لجعلها فريدة مرة أخرى.
  5. قمت بإزالة الإصدار المثبت مرة أخرى.
  6. قمت بإعادة بناء Discourse sudo ./launcher rebuild app. نجح هذا الآن.
  7. بعد بدء تشغيل Discourse، ذهبت إلى منطقة إدارة العلامات وعملت على العلامات المكررة (حذفت إحدى العلامات المكررة سابقًا بعد تعيين العلامة الأخرى).
إعجاب واحد (1)

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