Docker에서 Discourse 재구축 시 발생하는 문제

안녕하세요,

업데이트 문제로 어려움을 겪고 있습니다. admin/upgrade 페이지를 통해 Discourse를 업데이트하려고 하면 오래된 Docker 이미지에 대한 정보가 표시됩니다.

그래서 Discourse 서버에 연결하여 git pull 명령을 입력하고 앱을 다시 빌드하여 업데이트를 시도했습니다. 하지만 이제 아래 오류가 발생했습니다:

...
success Cleared cache.
Done in 8.44s.

I, [2022-03-08T17:16:03.605966 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2022-03-08T17:16:08.549201 #1]  INFO -- : 
I, [2022-03-08T17:16:08.549823 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

ERROR:  syntax error at or near "CASCADE"
LINE 1: ...ION IF EXISTS sync_bookmarks_polymorphic_column_data CASCADE
                                                                ^
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `exec'
...
/usr/local/bin/bundle:25:in `<main>'

Caused by:
PG::SyntaxError: ERROR:  syntax error at or near "CASCADE"
LINE 1: ...ION IF EXISTS sync_bookmarks_polymorphic_column_data CASCADE
                                                                ^
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `exec'

플러그인 섹션을 주석 처리한 상태로 Discourse를 업데이트해 보았지만 도움이 되지 않았습니다.

Discourse에서 sync_bookmarks_polymorphic_column_data 함수에 대해 검색해 보았지만, Discourse 코드에서 이 변경 사항 DEV: Drop bookmark trigger correctly (#15486) 만 찾을 수 있었습니다.

무슨 일이 발생했는지에 대해 더 많은 정보를 찾을 수 있는 곳이 있을까요? 아니면 위의 변경 사항 없이 Discourse를 다시 빌드해 볼 수 있는 방법이 있을까요?

app.yml에서 데이터베이스의 이전 버전을 강제 지정하여 PostgreSQL 업그레이드를 건너뛴 것은 아닌가요?

죄송하지만 PostgreSQL 13 업데이트 가이드를 따라 지원되는 버전으로 업데이트해야 합니다.

라파엘, 안녕하세요!

좋은 질문입니다! PostgreSQL 업그레이드를 건너뛰는 방법은 무엇인가요? app.yml에서 사용할 수 있는 속성 목록이 있나요?

버전 번호가 포함된 특정 Postgresql 템플릿을 사용하는 경우, 업그레이드가 건너뛸 수 있습니다.

예를 들어,

templates:
  - "templates/postgres.template.yml"

대신

templates:
  - "templates/postgres.12.template.yml"

을 사용하면 ‘latest’(현재 PG 13) 대신 Postgres 버전이 12로 고정됩니다.