PG::UndefinedTable: خطأ: العلاقة "pg_range" غير موجودة

أنا أتبع الدليل هنا:

عندما أقوم بتشغيل bundle exec rake db:create فإنه يعطي خطأ ويقول:

[Warning] Discourse recommends developing using Ruby v3.1.3 or above. You are using v2.7.6.
PG::UndefinedTable: ERROR:  relation "pg_range" does not exist
LINE 3: LEFT JOIN pg_range as r ON oid = rngtypid
                  ^
Couldn't create 'discourse_development' database. Please check your configuration.
rake aborted!
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  relation "pg_range" does not exist
LINE 3: LEFT JOIN pg_range as r ON oid = rngtypid
                  ^
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `load'
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `<main>'

Caused by:
PG::UndefinedTable: ERROR:  relation "pg_range" does not exist
LINE 3: LEFT JOIN pg_range as r ON oid = rngtypid
                  ^
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `load'
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `<main>'
Tasks: TOP => db:create
(See full trace by running task with --trace)

ماذا أفعل؟
أنا أستخدم WSL 2 و Ubuntu 18.04.5، وإصدار PostgreSQL 9.2

هذا قديم جداً.
يجب أن تكون تستخدم الإصدار 13.x حالياً.

إعجابَين (2)

حسنًا، سأحاول الترقية.

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

لست متأكدًا من أنه مصدر مشكلتك، ولكنه بالتأكيد سيكون أكثر توافقًا :slight_smile:

الآن لدي هذا الخطأ:

[تحذير] يوصي Discourse بالتطوير باستخدام Ruby v3.1.3 أو أعلى. أنت تستخدم v2.7.6.
PG::UndefinedTable: خطأ: العلاقة "pg_range" غير موجودة
LINE 3: LEFT JOIN pg_range as r ON oid = rngtypid
                  ^
تعذر إنشاء قاعدة بيانات "discourse_development". يرجى التحقق من التكوين الخاص بك.
تم إلغاء rake!
ActiveRecord::StatementInvalid: PG::UndefinedTable: خطأ: العلاقة "pg_range" غير موجودة
LINE 3: LEFT JOIN pg_range as r ON oid = rngtypid
                  ^
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `load'
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `<main>'

سببه:
PG::UndefinedTable: خطأ: العلاقة "pg_range" غير موجودة
LINE 3: LEFT JOIN pg_range as r ON oid = rngtypid
                  ^
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `load'
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `<main>'
المهام: TOP => db:create
(انظر التتبع الكامل عن طريق تشغيل المهمة مع --trace)

وفقًا لرابط Stack Overflow هذا، لديك قاعدة بيانات قديمة أو تالفة.

كيف أقوم بإنشاء واحد جديد إذن؟ لم أستخدم PostgreSQL من قبل.

حسنًا ، الآن أحصل على خطأ مختلف:

[تحذير] يوصي Discourse بالتطوير باستخدام Ruby v3.1.3 أو أعلى. أنت تستخدم v2.7.6.
لم نتمكن من العثور على قاعدة البيانات الخاصة بك: postgres. والتي يمكن العثور عليها في ملف تكوين قاعدة البيانات الموجود في config/database.yml.

لحل هذه المشكلة:

- هل قمت بإنشاء قاعدة البيانات لهذا التطبيق ، أو حذفتها؟ قد تحتاج إلى إنشاء قاعدة البيانات الخاصة بك.
- هل تغير اسم قاعدة البيانات؟ تحقق من أن تكوين database.yml الخاص بك يحتوي على اسم قاعدة البيانات الصحيح.

لإنشاء قاعدة البيانات الخاصة بك ، قم بتشغيل:

        bin/rails db:create
لم نتمكن من إنشاء قاعدة البيانات 'discourse_development'. يرجى التحقق من التكوين الخاص بك.
تم إلغاء rake!
ActiveRecord::NoDatabaseError: لم نتمكن من العثور على قاعدة البيانات الخاصة بك: postgres. والتي يمكن العثور عليها في ملف تكوين قاعدة البيانات الموجود في config/database.yml.

لحل هذه المشكلة:

- هل قمت بإنشاء قاعدة البيانات لهذا التطبيق ، أو حذفتها؟ قد تحتاج إلى إنشاء قاعدة البيانات الخاصة بك.
- هل تغير اسم قاعدة البيانات؟ تحقق من أن تكوين database.yml الخاص بك يحتوي على اسم قاعدة البيانات الصحيح.

لإنشاء قاعدة البيانات الخاصة بك ، قم بتشغيل:

        bin/rails db:create
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `load'
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `<main>'

تسببت في:
PG::ConnectionBad: فشل الاتصال بالخادم على المقبس "/var/run/postgresql/.s.PGSQL.5432": لا يوجد مثل هذا الملف أو الدليل
        هل الخادم قيد التشغيل محليًا ويقبل الاتصالات على هذا المقبس؟
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `load'
/home/joecooldoo/.rbenv/versions/2.7.6/bin/bundle:25:in `<main>'
المهام: TOP => db:create
(انظر التتبع الكامل عن طريق تشغيل المهمة مع --trace)

لذلك قررت اتباع هذا الدليل:

أتلقى هذا الخطأ بعد رسالة “ترحيل قاعدة البيانات”:

ترحيل قاعدة البيانات...
rake aborted!
Discourse::Utils::CommandError: /src/lib/discourse.rb:134:in `exec': mkdir: cannot create directory ‘/src/public/plugins/’: Permission denied
/src/lib/discourse.rb:168:in `execute_command'
/src/lib/discourse.rb:134:in `exec'
/src/lib/discourse.rb:30:in `execute_command'
/src/lib/plugin/instance.rb:727:in `activate!'
/src/lib/discourse.rb:337:in `block in activate_plugins!'
/src/lib/discourse.rb:334:in `each'
/src/lib/discourse.rb:334:in `activate_plugins!'
/src/config/application.rb:216:in `block in <class:Application>'
/src/lib/plugin.rb:6:in `initialization_guard'
/src/config/application.rb:216:in `<class:Application>'
/src/config/application.rb:75:in `<module:Discourse>'
/src/config/application.rb:74:in `<main>'
/home/discourse/.bundle/gems/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/discourse/.bundle/gems/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/src/Rakefile:7:in `<main>'
(See full trace by running task with --trace)

ما زلت أواجه مشاكل مع هذا، هل هناك أي حلول؟