عالقة وفاقدة في تحديث المنتدى، مشاكل في ترحيل PG

مرحبًا بالنشر هنا بعد تجربة كل شيء وعلقت في الترقية الخاصة بي.

  • كنت أقوم بتحديث المنتدى بعد عدة أشهر. قمت بتشغيل نسخة احتياطية كالمعتاد وقمت بتنزيلها.
  • على ما يبدو، في عملية التحديث هذه، هناك ترحيل من PG 13 إلى 15.
    كان كل شيء يعمل بدون مشاكل حتى فشل التحديث بسبب انقطاعي بسبب نقص مساحة القرص.
  • ذهبت إلى Digitalocean droplet، وأوقفته، وقمت بتوسيع القرص، ثم قمت بتشغيله مرة أخرى
  • قمت بتشغيل بعض الأوامر العادية لتحرير مساحة القرص (إزالة السجلات القديمة، ./launcher cleanup، إلخ)

لذا بدأت في إعادة البناء، ثم اصطدمت بالجدار الأول:

root@discourse-ubuntu-s-2vcpu-4gb-fra1-01:/var/discourse# ./launcher rebuild app
تحذير: إصدار Docker 20.10.1 قديم، يوصى بالترقية إلى 24.0.7 أو أحدث.
تم الكشف عن معمارية x86_64.
تحذير: الملف containers/app.yml قابل للقراءة عالميًا

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

كان تجزئة الالتزام قبل الترقية v3.3.0.beta6 +294، وأحاول إعادة بناء ذلك عبر YML ولكنه لا يزال يقول هذا عند الإنشاء:

root@discourse-ubuntu-s-2vcpu-4gb-fra1-01:/var/discourse# ./launcher rebuild app
تحذير: إصدار Docker 20.10.1 مهمل، يوصى بالترقية إلى 24.0.7 أو أحدث.
تم الكشف عن بنية x86_64.

تحذير: نحن على وشك البدء في تنزيل صورة Discourse الأساسية
قد تستغرق هذه العملية في أي مكان ما بين بضع دقائق وساعة، اعتمادًا على سرعة الشبكة لديك

يرجى التحلي بالصبر

2.0.20250226-0128: يتم السحب من discourse/base
af302e5c37e9: اكتمل السحب
ed49ab5c933d: اكتمل السحب
4d13d450f300: اكتمل السحب
a67afd5cca97: اكتمل السحب
d22a5b6769a6: اكتمل السحب
83c133b53b22: اكتمل السحب
fec147508f0c: اكتمل السحب
21850d8b3ba1: اكتمل السحب
02e250b6bcc4: اكتمل السحب
71ba5ea7da00: اكتمل السحب
ddcfbf6d2647: اكتمل السحب
9c3e54d34536: اكتمل السحب
29ce98d2d62d: اكتمل السحب
4c9694455fd5: اكتمل السحب
58a8ebcc6563: اكتمل السحب
9c8966f1f999: اكتمل السحب
b3dde96c4217: اكتمل السحب
f934de9e2e8d: اكتمل السحب
834e25f513a1: اكتمل السحب
85d3cf606a95: اكتمل السحب
94331a6982ee: اكتمل السحب
14936beb0e9f: اكتمل السحب
3ef05b122d47: اكتمل السحب
6c2dff13a1e7: اكتمل السحب
7682543ad38b: اكتمل السحب
f16f8d5c5a04: اكتمل السحب
06d7037d56ef: اكتمل السحب
bc6c17ae1969: اكتمل السحب
d19f089ead0e: اكتمل السحب
Digest: sha256:6f18aa2cd22bba0deb91d69194e577d4f96130ad555ae8ec646a8792cbfe37db
الحالة: تم تنزيل صورة أحدث لـ discourse/base:2.0.20250226-0128
docker.io/discourse/base:2.0.20250226-0128
تحذير: ملف containers/app.yml قابل للقراءة عالميًا. يمكنك تأمين هذا الملف عن طريق تشغيل: chmod o-rwx containers/app.yml
التأكد من أن المشغل محدث
جلب الأصل
المشغل محدث
2.0.20250226-0128: يتم السحب من discourse/base
Digest: sha256:6f18aa2cd22bba0deb91d69194e577d4f96130ad555ae8ec646a8792cbfe37db
الحالة: الصورة محدثة لـ discourse/base:2.0.20250226-0128
docker.io/discourse/base:2.0.20250226-0128
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-06-11T09:54:52.350929 #1]  INFO -- : القراءة من stdin
I, [2025-06-11T09:54:52.357807 #1]  INFO -- : "> DEBIAN_FRONTEND=noninteractive apt-get purge -y postgresql-15 postgresql-client-15 postgresql-contrib-15 postgresql-15-pgvector
E: مشكلة في تنفيذ النصوص البرمجية DPkg::Post-Invoke 'rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true'
E: أرجعت العملية الفرعية رمز خطأ
I, [2025-06-11T09:54:53.837808 #1]  INFO -- : قراءة قوائم الحزم...
بناء شجرة التبعيات...
قراءة معلومات الحالة...
تم تثبيت الحزم التالية تلقائيًا ولم تعد مطلوبة:
  libcommon-sense-perl libio-pty-perl libipc-run-perl libjson-perl
  libjson-xs-perl libllvm19 libtypes-serialiser-perl libz3-4
  postgresql-client-common postgresql-common postgresql-common-dev ssl-cert
استخدم 'apt autoremove' لإزالتها.
ستتم إزالة الحزم التالية:
  postgresql-15* postgresql-15-pgvector* postgresql-client-15*
0 تمت ترقيتها، 0 مثبتة حديثًا، 3 للإزالة و 0 لم تتم ترقيتها.
بعد هذه العملية، سيتم تحرير 60.9 ميغابايت من مساحة القرص.
(قراءة قاعدة البيانات ... 33951 ملفًا ودليلًا مثبتًا حاليًا.)
إزالة postgresql-15-pgvector (0.8.0-1.pgdg120+1) ...
إزالة postgresql-15 (15.12-1.pgdg120+1) ...
invoke-rc.d: تعذر تحديد مستوى التشغيل الحالي
update-alternatives: تحذير: فرض إعادة تثبيت البديل /usr/share/postgresql/15/man/man1/psql.1.gz لأن مجموعة الارتباط psql.1.gz معطلة
إزالة postgresql-client-15 (15.12-1.pgdg120+1) ...
معالجة مشغلات postgresql-common (274.pgdg120+1) ...
بناء قواميس PostgreSQL من حزم myspell/hunspell المثبتة...
إزالة ملفات القاموس القديمة:
(قراءة قاعدة البيانات ... 31913 ملفًا ودليلًا مثبتًا حاليًا.)
تطهير ملفات التكوين لـ postgresql-15 (15.12-1.pgdg120+1) ...
إسقاط المجموعة الرئيسية...



فشل
--------------------
Pups::ExecError: DEBIAN_FRONTEND=noninteractive apt-get purge -y postgresql-15 postgresql-client-15 postgresql-contrib-15 postgresql-15-pgvector فشل مع الإرجاع #<Process::Status: pid 7 exit 100
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params "DEBIAN_FRONTEND=noninteractive apt-get purge -y postgresql-15 postgresql-client-15 postgresql-contrib-15 postgresql-15-pgvector"
bootstrap failed with exit code 100
** FAILED TO BOOTSTRAP ** يرجى التمرير لأعلى والبحث عن رسائل الخطأ السابقة، قد يكون هناك أكثر من واحد.
./discourse-doctor قد يساعد في تشخيص المشكلة.
a609309cf458b146e5650d21103bf084e9bf66843e46e627827f50b6f8c03376

إذا قمت بعمل نسخة احتياطية كما قلت، فإن أسهل شيء هو تشغيل قطرة جديدة، واتباع نقل موقع Discourse إلى VPS آخر باستخدام rsync (ولكن لا تقم بنسخ ملفات قاعدة البيانات)، ثم استعادة نسختك الاحتياطية.

3 إعجابات

مرحباً

مرحباً جاي! شكراً جزيلاً على الرد. بدأت للتو في القيام بذلك، ويتم إعداد القطرة الآن.

سؤال سريع: قمت بتنزيل ملف النسخ الاحتياطي الخاص بي قبل بدء التحديث، هذا هو الملف: forumname-2025-06-11-060249-v20240807024301.tar.gz (4.6 جيجابايت مضغوط) كانت نسخة المنتدى v3.3.0.beta6 +294 مع PG13.

كنت أخطط لتهيئة القطرة الجديدة مع فرض هذه النسخة في app.yml، مثل:

## هذا هو القالب الشامل والمستقل لحاوية Discourse Docker
##
## بعد إجراء تغييرات على هذا الملف، يجب عليك إعادة البناء
## /var/discourse/launcher rebuild app
##
## كن حذراً جداً عند التحرير!
## ملفات YAML حساسة للغاية للأخطاء في المسافات البيضاء أو المحاذاة!
## قم بزيارة http://www.yamllint.com/ للتحقق من صحة هذا الملف حسب الحاجة

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## قم بإلغاء التعليق على هذين السطرين إذا كنت ترغب في إضافة Lets Encrypt (https)
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"

## ما هي منافذ TCP/IP التي يجب أن تعرضها هذه الحاوية؟
## إذا كنت تريد أن تشارك Discourse منفذاً مع خادم ويب آخر مثل Apache أو nginx،
## انظر https://meta.discourse.org/t/17247 للحصول على التفاصيل
expose:
  - "80:80"   # http
  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## اضبط db_shared_buffers على 25% كحد أقصى من الذاكرة الإجمالية.
  ## سيتم تعيينها تلقائياً بواسطة bootstrap بناءً على الذاكرة العشوائية المكتشفة، أو يمكنك تجاوزها
  db_shared_buffers: "1024MB"

  ## يمكن أن يحسن أداء الفرز، ولكنه يضيف استخدام الذاكرة لكل اتصال
  #db_work_mem: "40MB"

  ## أي مراجعة Git يجب أن تستخدمها هذه الحاوية؟ (الافتراضي: tests-passed)
  version: v3.3.0.beta6

ثم، مع تشغيل المنتدى الجديد، قم باستيراد النسخة الاحتياطية من هناك.

هل هذا منطقي؟ أم أنني أفتقد أي معلمة أو خطوة مهمة؟

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

هذا كل شيء.

انظر أيضًا استعادة نسخة احتياطية من سطر الأوامر

3 إعجابات

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

أحاول القيام بذلك (فرض الإصدار في YML) ولكن يبدو أن discourse_docker غير سعيد (حتى الآن) بهذا التغيير:

FAILED
--------------------
Pups::ExecError: grep -q 'outlets/before-server' /etc/nginx/conf.d/discourse.conf || ( >&2 echo 'The "before-server" Nginx outlet is missing. This version of discourse_docker is not compatible with the chosen Discourse version.' ; exit 1 ) failed with return #<Process::Status: pid 2788 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in spawn'
exec failed with the params {"cmd"=>["cp $home/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf", "rm /etc/nginx/sites-enabled/default", "mkdir -p /var/nginx/cache", "grep -q 'outlets/before-server' /etc/nginx/conf.d/discourse.conf || ( >&2 echo 'The \\\"before-server\\\" Nginx outlet is missing. This version of discourse_docker is not compatible with the chosen Discourse version.' ; exit 1 )", "grep -q 'outlets/server' /etc/nginx/conf.d/discourse.conf || ( >&2 echo 'The \\\"server\\\" Nginx outlet is missing. This version of discourse_docker is not compatible with the chosen Discourse version.' ; exit 1 )", "grep -q 'outlets/discourse' /etc/nginx/conf.d/discourse.conf || ( >&2 echo 'The \\\"discourse\\\" Nginx outlet is missing. This version of discourse_docker is not compatible with the chosen Discourse version.' ; exit 1 )", "mkdir -p /etc/nginx/conf.d/outlets/before-server", "touch /etc/nginx/conf.d/outlets/before-server/20-redirect-http-to-https.conf", "touch /etc/nginx/conf.d/outlets/before-server/30-ratelimited.conf", "mkdir -p /etc/nginx/conf.d/outlets/server", "touch /etc/nginx/conf.d/outlets/server/10-http.conf", "touch /etc/nginx/conf.d/outlets/server/20-https.conf", "touch /etc/nginx/conf.d/outlets/server/30-offline-page.conf", "mkdir -p /etc/nginx/conf.d/outlets/discourse", "touch /etc/nginx/conf.d/outlets/discourse/20-https.conf", "touch /etc/nginx/conf.d/outlets/discourse/30-ratelimited.conf"]}
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.
d511b0ec31ac912c99c682611c35bbb446dde1488e1762aa07ccd24690c63164


2/2


قبل التحديث، أخذت لقطة شاشة للإصدار الحالي في حال احتجت إليها، هل هناك أي طريقة لفرض discourse_docker على إصدار أقدم متوافق؟

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

[اقتباس=“skozz، المشاركة:6، الموضوع:369694”]
بهذه الطريقة (
[/اقتباس]

لا تفعل ذلك.

فقط قم بتثبيت عادي لأحدث إصدار من كل شيء واستعادة قاعدة البيانات.

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

[اقتباس=“pfaffman, post:7, topic:369694”]
فقط قم بتثبيت عادي لأحدث إصدار من كل شيء واستعادة قاعدة البيانات.
[/اقتباس]

فهمت، سأحاول الآن.

ومع ذلك، سؤال سريع: إذا كانت النسخة الاحتياطية من إصدار قديم جدًا من Discord بحيث استخدم PG13، فهل ستواجه مشاكل في استيراد النسخة الاحتياطية إلى أحدث إصدار من Discord مع PG15؟

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

آسفًا @pfaffman كتبت رسالة سابقة معتقدًا أن المشكلة قد انتهت ولكن حدث تطور مفاجئ بعد ذلك.

بعد وقت طويل من الاستيراد، رأيت كيف عاد المنتدى متصلاً بالإنترنت مرة أخرى يسرد جميع المنشورات وما إلى ذلك.

في الطرفية، كان السجل:

[...]

-- execute("DELETE FROM site_settings WHERE name='warn_reviving_old_topic_age'")
   -\"> 0.0002s
== 20250609115711 RemoveComposerTipsSiteSettings: migrated (0.0012s) ==========

إعادة الاتصال بقاعدة البيانات...
إعادة تحميل إعدادات الموقع...
تعطيل رسائل البريد الإلكتروني الصادرة للمستخدمين غير الموظفين...
تعطيل وضع القراءة فقط...
مسح ذاكرة التخزين المؤقت للفئة...
إعادة تحميل الترجمات...
إعادة تعيين التحميلات...
استعادة التحميلات، قد يستغرق هذا بعض الوقت...
ترحيل التحميلات إلى S3 لـ 'default'...
تحميل الملفات إلى S3...
 - سرد الملفات المحلية
 => 5 ملفات
 - سرد ملفات S3
............................................................................................................................................................................ => 171490 ملف
 - مزامنة الملفات مع S3
.....
تحديث عناوين URL في قاعدة البيانات...

كنت هناك لبعض الوقت، واعتقدت أنها مجرد اتصال مصطلحي. ومع ذلك، بعد بضع دقائق، استمر في الانتهاء بالفشل:

490 ملف
 - مزامنة الملفات مع S3
.....
تحديث عناوين URL في قاعدة البيانات...
إزالة الصور القديمة المحسنة...
تحديد جميع المنشورات التي تحتوي على صناديق الإضاءة لإعادة الخبز...
تم تحديد 76198 منشورًا لإعادة الخبز
استثناء: لم تتم إعادة تعيين 903 منشور إلى عنوان URL الجديد لتحميل S3. فشل ترحيل S3 لقاعدة بيانات 'default'.
/var/www/discourse/lib/file_store/to_s3_migration.rb:132:in `raise_or_log'
/var/www/discourse/lib/file_store/to_s3_migration.rb:81:in `migration_successful?'
/var/www/discourse/lib/file_store/to_s3_migration.rb:383:in `migrate_to_s3'
/var/www/discourse/lib/file_store/to_s3_migration.rb:59:in `migrate'
/var/www/discourse/lib/file_store/s3_store.rb:354:in `copy_from'
/var/www/discourse/lib/backup_restore/uploads_restorer.rb:69:in `restore_uploads'
/var/www/discourse/lib/backup_restore/uploads_restorer.rb:49:in `restore'
/var/www/discourse/lib/backup_restore/restorer.rb:167:in `restore_uploads'
/var/www/discourse/lib/backup_restore/restorer.rb:71:in `run'
script/discourse:191:in `restore'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/command.rb:28:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor.rb:538:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/base.rb:584:in `start'
script/discourse:345:in `
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in `load'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in `kernel_load'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:23:in `run'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:452:in `exec'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor.rb:538:in `dispatch'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:35:in `dispatch'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:29:in `start'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/exe/bundle:28:in `block in 
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/exe/bundle:20:in `'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `
محاولة التراجع...
التراجع...
تنظيف الأشياء...
إسقاط الوظائف من مخطط discourse_functions...
إزالة الدليل المؤقت '/var/www/discourse/tmp/restores/default/2025-06-11-121115'...
إلغاء إيقاف سايدكيك مؤقتًا...
وضع علامة على الاستعادة على أنها منتهية...
إخطار 'system' بانتهاء الاستعادة...
تم الانتهاء!
[فشل]
تمت الاستعادة.
```فجأة، اختفى كل شيء في المنتدى الذي "أعيد" عبر الإنترنت، ولم يتبق سوى موضوعين أو ثلاثة. 

نظرًا لأن السجل يقول "تم وضع علامة على 76198 مشاركة لإعادة خبزها (rebake)"، اعتقدت أن الأمر يتعلق فقط بأنه يجب إعادة خبزها الآن، لذلك ذهبت إلى Sidekiq ولكن لا يوجد شيء معلق للمعالجة :(

![Screenshot 2025-06-11 at 15.07.25|690x344](upload://eTbBQ2YFhHB53eiZav2gFFOlEVV.jpeg)

![Screenshot 2025-06-11 at 15.07.52|690x221](upload://jndXpOTWcvpiv94CczGn2SRRqVU.jpeg)

تحديث:
تم تسجيل الدخول إلى وحدة تحكم rails، ويبدو أن هناك 10 مشاركات فقط، وليس كل ما تم استيراده :thinking:

/var/www/discourse# rails c
تحميل بيئة الإنتاج (Rails 7.2.2.1)
discourse(prod)> Post.count
=> 10
discourse(prod)> Post.where(“baked_version IS NULL”).count
=> 0

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

تنهد. هل تستخدم نفس اسم المضيف؟ (ربما؟)

هذه هي مشكلتك الآن.

هل قمت بتكوين S3 في قاعدة البيانات أو في ملف yml؟ أعتقد أنه الأول. أسهل شيء هو استعادة قاعدة بيانات فقط، ولكن هذا صعب الشرح (استخراج ملف sql ثم تسميته بنفس اسم ملف tar.gz)

يمكنك تجربة هذا

discourse restore --pause <backup_filename>

سيؤدي ذلك إلى الإيقاف المؤقت قبل محاولة استعادة S3. بعد ذلك، إذا كنت تعرف ما يجب فعله، يمكنك إصلاح المشكلة مع التحميلات الخاطئة.

انظر Issues with restoring backup to discourse - #16 by gerhard

شيء آخر هو تعيين DISCOURSE_USE_S3 إلى false في ملف app.yml الخاص بك. قد تحتاج أيضًا إلى تعيين إعدادات S3 الأخرى مثل تلك التي تقول لاستخدام تحميلات S3 و/أو حاويات S3.

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

[اقتباس=“pfaffman، المشاركة:12، الموضوع:369694”]
آه. هل تستخدم نفس اسم المضيف؟ (ربما؟)
[/اقتباس]

نعم، ولكن الآن بعد ذكرك ذلك.

  • المنتدى عمره الآن 10 سنوات.
  • قمت بإعداد S3 في الماضي لفترة من الوقت، ولكن بعد ذلك قمت بإزالته، لذلك فإن تلك المشاركات التي تحتوي على صور S3 قديمة جدًا.

هل هناك طريقة لتحديدها وتجاهلها/إزالتها، حتى يتمكن الاستيراد من العمل دون أي احتكاك؟

شيء آخر هو تعيين DISCOURSE_USE_S3 على خطأ في app.yml. قد تحتاج إلى تعيين مواد S3 الأخرى أيضًا مثل تلك التي تقول استخدام تحميلات S3 و/أو صناديق S3.

سأجرب هذا أيضًا، لأنه في النهاية، نحن لا نهتم بملفات أو مشاركات S3 هذه، أنا فقط لا أعرف حتى الآن كيفية التعامل معها لتجاهلها

إذا كنت لا تهتم بهم حقًا ، فيمكنك القيام بإيقاف مؤقت وعندما يتوقف ، افتح نافذة طرفية أخرى ، وانتقل إلى rails وافعل شيئًا مثل

bad=Upload.where("url like '%the-s3-url%'")
bad.destroy_all

بالمناسبة، إذا كنت لا تزال عالقًا ويائسًا ولديك ميزانية، يمكنك الاتصال بي عبر البريد الإلكتروني أو الرسائل الخاصة أو السؤال في Marketplace.

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

كان يجب أن تخبرني منذ البداية! كنت سأدفع بكل سرور في المقام الأول! هيهي

إنه يعمل الآن.

بعد تجربة الكثير من الأشياء، انتهى بي الأمر بفعل شيء غير بديهي ولكنه يعمل الآن:

  • إعداد S3 في المثيل الجديد بشكل صحيح (عبر لوحة الإدارة)
  • تشغيل الاستيراد باستخدام شيء الإيقاف المؤقت ولكن في الخطوة الثانية، أوقفت العملية فقط. كنت أتوقع أن المنتدى لن يعمل أو ستكون هناك مشاكل مع الصور، ولكنه يعمل والصور القديمة يتم تحميلها دون مشكلة.

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

إعجابَين (2)

هذا ليس صحيحًا. انظر تكوين موفر تخزين كائنات متوافق مع S3 للتحميلات. تريد كل هذه الإعدادات في ملفات yml الخاصة بك.

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