أنا أشغل أحدث إصدار من Discourse على مجموعة k8s، ومع كل بدء تشغيل، أستمر في الحصول على هذا الخطأ:
ERROR: relation "translation_overrides" does not exist at character 454
STATEMENT: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod,
c.collname, col_description(a.attrelid, a.attnum) AS comment
FROM pg_attribute a
LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
LEFT JOIN pg_type t ON a.atttypid = t.oid
LEFT JOIN pg_collation c ON a.attcollation = c.oid AND a.attcollation <> t.typcollation
WHERE a.attrelid = '"translation_overrides"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
أظن أن الأمر يتعلق بالإعداد الأولي وهجرة قاعدة البيانات، لكنني أتساءل عما إذا كان أي شخص هنا يعرف السبب الدقيق وراء استمرار حدوث هذا.
الإعداد المحلي يعمل باستخدام minikube، ويتم سحب سجلات الخطأ من وحدة pgsql.
صورة Discourse المستخدمة → bitnami/discourse:latest (https://github.com/bitnami/bitnami-docker-discourse)
صورة Postgres → postgres:11.9
مرحبًا بالجميع، لقد قمنا بالتحقيق في هذه المشكلة في إعدادات Bitnami وتعقبناها إلى كود مصدر Discourse، حيث أمكننا أيضًا تكرارها في مشغل Discourse القياسي باستخدام قالب standalone.yml الرسمي:
$ ./launcher rebuild app
...
I, [2021-05-27T10:53:27.612150 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake plugin:pull_compatible_all'
I, [2021-05-27T10:53:30.072954 #1] INFO -- : docker_manager is already at latest compatible version
I, [2021-05-27T10:53:30.073194 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
2021-05-27 10:53:32.977 UTC [4354] discourse@discourse ERROR: relation "translation_overrides" does not exist at character 454
2021-05-27 10:53:32.977 UTC [4354] discourse@discourse STATEMENT: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod,
c.collname, col_description(a.attrelid, a.attnum) AS comment
FROM pg_attribute a
LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
LEFT JOIN pg_type t ON a.atttypid = t.oid
LEFT JOIN pg_collation c ON a.attcollation = c.oid AND a.attcollation <> t.typcollation
WHERE a.attrelid = '"translation_overrides"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
Warning: no type cast defined for type "name" with oid 19. Please cast this type explicitly to TEXT to be safe for future changes.
> Seeding theme and color schemes
I, [2021-05-27T10:53:49.976589 #1] INFO -- : == 20000225050318 AddSchemaMigrationDetails: migrating ========================
...
للتنويه، لقد حصلت على هذا اليوم عند تثبيت جديد (ARM)، كتثبيت قياسي، ولكن على الرغم من أنه يقول إنه خطأ، إلا أنه لم يوقف التثبيت على ما يبدو.
I, [2025-02-24T17:48:39.792821 #1] INFO -- : cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
2025-02-24 17:48:43.887 UTC [389] discourse@discourse ERROR: relation "translation_overrides" does not exist at character 523
2025-02-24 17:48:43.887 UTC [389] discourse@discourse STATEMENT: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod,
c.collname, col_description(a.attrelid, a.attnum) AS comment,
attidentity AS identity,
attgenerated as attgenerated
FROM pg_attribute a
LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
LEFT JOIN pg_type t ON a.atttypid = t.oid
LEFT JOIN pg_collation c ON a.attcollation = c.oid AND a.attcollation <> t.typcollation
WHERE a.attrelid = '"translation_overrides"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
> Seeding theme and color schemes
I, [2025-02-24T17:49:11.765841 #1] INFO -- : == 20000225050318 AddSchemaMigrationDetails: migrating ========
لا أعرف ما إذا كان هذا منطقيًا. لكنني واجهت خطأً مشابهًا عندما كنت أقوم بإعداد discourse في k8s باستخدام مخطط bitnami، واختفى بالنسبة لي عندما جعلت كلمة مرور postgres أطول. قد يكون هذا مجرد مصادفة.