Ошибка обновления: колонка "require_message" не существует

Привет,

Я несколько лет без проблем использовал Discourse. Сегодня я попытался выполнить обновление с помощью команды ./launcher rebuild app, но она завершилась ошибкой. Не могли бы вы помочь мне разобраться с ошибками из лога ниже.

Спасибо

sudo ./launcher rebuild app
WARNING: Docker version 20.10.18 deprecated, recommend upgrade to 24.0.7 or newer.
x86_64 arch detected.
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 600 app
app
2.0.20240825-0027: Pulling from discourse/base
Digest: sha256:6de68cb49198b5281f79ed9401b3fe818c854d220dcf0238549fe2f2adb19146
Status: Image is up to date for discourse/base:2.0.20240825-0027
docker.io/discourse/base:2.0.20240825-0027
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2024-11-07T19:34:23.535124 #1]  INFO -- : Reading from stdin
I, [2024-11-07T19:34:23.558469 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
I, [2024-11-07T19:34:23.571625 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2024-11-07T19:34:23.581705 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2024-11-07T19:34:23.592389 #1]  INFO -- : File > /root/install_postgres  chmod: +x  chown:
I, [2024-11-07T19:34:23.602698 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
I, [2024-11-07T19:34:23.604250 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/13/main' with data_directory = '/shared/postgres_data'                                                        in /etc/postgresql/13/main/postgresql.conf
I, [2024-11-07T19:34:23.605604 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/13/main/postg                                                       resql.conf
I, [2024-11-07T19:34:23.606565 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/p                                                       ostgresql/13/main/postgresql.conf
I, [2024-11-07T19:34:23.608107 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/13                                                       /main/postgresql.conf
I, [2024-11-07T19:34:23.609566 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.c                                                       onf
I, [2024-11-07T19:34:23.612994 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_tex                                                       t_search_config' in /etc/postgresql/13/main/postgresql.conf
I, [2024-11-07T19:34:23.613568 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /et                                                       c/postgresql/13/main/postgresql.conf
I, [2024-11-07T19:34:23.614631 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/post                                                       gresql/13/main/postgresql.conf
I, [2024-11-07T19:34:23.617876 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_dura                                                       tion_statement in /etc/postgresql/13/main/postgresql.conf
I, [2024-11-07T19:34:23.621489 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/                                                       postgresql/13/main/pg_hba.conf
I, [2024-11-07T19:34:23.622082 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/13/main/p                                                       g_hba.conf
I, [2024-11-07T19:34:23.627193 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\/128.*$) with host all all ::/0 md5 in /etc/postgresql/13/main/p                                                       g_hba.conf
I, [2024-11-07T19:34:23.628520 #1]  INFO -- : > if [ -f /root/install_postgres ]; then
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi

I, [2024-11-07T19:34:29.881880 #1]  INFO -- : Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.

I, [2024-11-07T19:34:29.882186 #1]  INFO -- : > 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
I, [2024-11-07T19:34:29.895227 #1]  INFO -- : File > /usr/local/bin/create_db  chmod: +x  chown:
I, [2024-11-07T19:34:29.909249 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2024-11-07T19:34:29.915646 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown:
I, [2024-11-07T19:34:29.916056 #1]  INFO -- : > sleep 5
2024-11-07 19:34:29.939 UTC [39] LOG:  starting PostgreSQL 13.16 (Debian 13.16-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-1                                                       4) 12.2.0, 64-bit
2024-11-07 19:34:29.939 UTC [39] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2024-11-07 19:34:29.940 UTC [39] LOG:  listening on IPv6 address "::", port 5432
2024-11-07 19:34:29.946 UTC [39] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-11-07 19:34:29.957 UTC [48] LOG:  database system was shut down at 2024-11-07 19:34:11 UTC
2024-11-07 19:34:29.975 UTC [39] LOG:  database system is ready to accept connections
I, [2024-11-07T19:34:34.920455 #1]  INFO -- :
I, [2024-11-07T19:34:34.920764 #1]  INFO -- : > /usr/local/bin/create_db
2024-11-07 19:34:35.054 UTC [58] postgres@postgres ERROR:  database "discourse" already exists
2024-11-07 19:34:35.054 UTC [58] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR:  database "discourse" already exists
2024-11-07 19:34:35.183 UTC [61] postgres@discourse ERROR:  role "discourse" already exists
2024-11-07 19:34:35.183 UTC [61] postgres@discourse STATEMENT:  create user discourse;
ERROR:  role "discourse" already exists
NOTICE:  extension "hstore" already exists, skipping
NOTICE:  extension "pg_trgm" already exists, skipping
NOTICE:  extension "vector" already exists, skipping
NOTICE:  version "0.7.4" of extension "vector" is already installed
NOTICE:  extension "hstore" already exists, skipping
NOTICE:  extension "pg_trgm" already exists, skipping
NOTICE:  extension "vector" already exists, skipping
NOTICE:  version "0.7.4" of extension "vector" is already installed
I, [2024-11-07T19:34:36.252292 #1]  INFO -- : GRANT
ALTER SCHEMA
CREATE EXTENSION
CREATE EXTENSION
CREATE EXTENSION
ALTER EXTENSION
CREATE EXTENSION
CREATE EXTENSION
CREATE EXTENSION
ALTER EXTENSION
UPDATE 0

I, [2024-11-07T19:34:36.252684 #1]  INFO -- : > echo postgres installed!
I, [2024-11-07T19:34:36.256493 #1]  INFO -- : postgres installed!

I, [2024-11-07T19:34:36.265063 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown:
I, [2024-11-07T19:34:36.272729 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown:
I, [2024-11-07T19:34:36.281351 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown:
I, [2024-11-07T19:34:36.283273 #1]  INFO -- : Replacing daemonize yes with  in /etc/redis/redis.conf
I, [2024-11-07T19:34:36.284352 #1]  INFO -- : Replacing (?-mix:^pidfile.*$) with  in /etc/redis/redis.conf
I, [2024-11-07T19:34:36.285312 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2024-11-07T19:34:36.293884 #1]  INFO -- :
I, [2024-11-07T19:34:36.295010 #1]  INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
I, [2024-11-07T19:34:36.296468 #1]  INFO -- : Replacing (?-mix:^bind .*$) with  in /etc/redis/redis.conf
I, [2024-11-07T19:34:36.298169 #1]  INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2024-11-07T19:34:36.299844 #1]  INFO -- : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2024-11-07T19:34:36.301569 #1]  INFO -- : Replacing # io-threads 4 with io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2024-11-07T19:34:36.303376 #1]  INFO -- : > echo redis installed
I, [2024-11-07T19:34:36.307405 #1]  INFO -- : redis installed

I, [2024-11-07T19:34:36.307822 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2024-11-07T19:34:36.316259 #1]  INFO -- : logfile ""

I, [2024-11-07T19:34:36.316711 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2024-11-07T19:34:36.321345 #1]  INFO -- : > sleep 10
107:C 07 Nov 2024 19:34:36.335 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
107:C 07 Nov 2024 19:34:36.335 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=107, just started
107:C 07 Nov 2024 19:34:36.335 # Configuration loaded
107:M 07 Nov 2024 19:34:36.336 * monotonic clock: POSIX clock_gettime
107:M 07 Nov 2024 19:34:36.337 * Running mode=standalone, port=6379.
107:M 07 Nov 2024 19:34:36.337 # Server initialized
107:M 07 Nov 2024 19:34:36.338 * Loading RDB produced by version 7.0.7
107:M 07 Nov 2024 19:34:36.338 * RDB age 25 seconds
107:M 07 Nov 2024 19:34:36.338 * RDB memory usage when created 8.18 Mb
107:M 07 Nov 2024 19:34:36.369 * Done loading RDB, keys loaded: 2512, keys expired: 0.
107:M 07 Nov 2024 19:34:36.369 * DB loaded from disk: 0.031 seconds
107:M 07 Nov 2024 19:34:36.369 * Ready to accept connections
I, [2024-11-07T19:34:46.328108 #1]  INFO -- :
I, [2024-11-07T19:34:46.328719 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2024-11-07T19:34:46.335431 #1]  INFO -- : thpoff is installed!

I, [2024-11-07T19:34:46.335870 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Aborting! Mail                                                        is not configured!"; exit 1; end'
I, [2024-11-07T19:34:46.478257 #1]  INFO -- :
I, [2024-11-07T19:34:46.478397 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Dom                                                       ain is not configured!"; exit 1; end'
I, [2024-11-07T19:34:46.632162 #1]  INFO -- :
I, [2024-11-07T19:34:46.632306 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Aborting! CDN must                                                        have a protocol specified. Once fixed you should rebake your posts now to correct all posts."; exit 1; end'
I, [2024-11-07T19:34:46.792566 #1]  INFO -- :
I, [2024-11-07T19:34:46.792816 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2024-11-07T19:34:46.799857 #1]  INFO -- :
I, [2024-11-07T19:34:46.806261 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown:
I, [2024-11-07T19:34:46.814523 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown:
I, [2024-11-07T19:34:46.824323 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown:
I, [2024-11-07T19:34:46.833947 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown:
I, [2024-11-07T19:34:46.842792 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown:
I, [2024-11-07T19:34:46.850581 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown:
I, [2024-11-07T19:34:46.850759 #1]  INFO -- : Replacing # postgres with if [ -f /root/install_postgres ]; then
  /root/install_postgres
  rm /root/install_postgres
fi
sv start postgres || exit 1
 in /etc/service/unicorn/run
I, [2024-11-07T19:34:46.853568 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git reset --hard
Updating files: 100% (34680/34680), done.
I, [2024-11-07T19:34:57.445426 #1]  INFO -- : HEAD is now at 274e18622 FIX: Video uploads sometimes hang indefinitely (#28523)

I, [2024-11-07T19:34:57.445566 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2024-11-07T19:34:57.805189 #1]  INFO -- :
I, [2024-11-07T19:34:57.805321 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
      git remote set-branches --add origin main
      git remote set-branches origin tests-passed
      git fetch --depth 1 origin tests-passed
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
'
From https://github.com/discourse/discourse
 - [deleted]             (none)     -> origin/0-a-gjs-ace
 - [deleted]             (none)     -> origin/better-respect-End-key-in-topics
 - [deleted]             (none)     -> origin/category-experts-approved-webhook-event
 - [deleted]             (none)     -> origin/chat-sound-respects-indicator-pref
 - [deleted]             (none)     -> origin/d-button-noautoclass
 - [deleted]             (none)     -> origin/dependabot/bundler/omniauth-google-oauth2-1.1.2
 - [deleted]             (none)     -> origin/dependabot/bundler/sass-embedded-1.77.8
 - [deleted]             (none)     -> origin/dependabot/bundler/sassc-embedded-1.77.8
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/ember-cli-deprecation-workflow-3.0.2
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/ember/test-helpers-4.0.1
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/eslint-9.7.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/sass-1.77.8
 - [deleted]             (none)     -> origin/detect-default-readonly
 - [deleted]             (none)     -> origin/dev/add-skeleton-of-section-landing-page-and-items
 - [deleted]             (none)     -> origin/dev/remove-header-widgets
 - [deleted]             (none)     -> origin/ensure_default_timeouts_for_net_http
 - [deleted]             (none)     -> origin/feature/site-text-result-selected-lang
 - [deleted]             (none)     -> origin/fix/add-user-to-user-directory-when-activated
 - [deleted]             (none)     -> origin/fix_default_value_validation_fail
 - [deleted]             (none)     -> origin/issue/fix-bookmark-clearing-reminder
 - [deleted]             (none)     -> origin/loic-drop-compiled-js-column
 - [deleted]             (none)     -> origin/mt/converter
 - [deleted]             (none)     -> origin/mt/uploads-command
 - [deleted]             (none)     -> origin/native-class-components-2
 - [deleted]             (none)     -> origin/native-class-components-3
 - [deleted]             (none)     -> origin/notifications_id_bigint
 - [deleted]             (none)     -> origin/prevent-desktop-notifications-on-mobile
 - [deleted]             (none)     -> origin/rails_7_1_upgrade
 - [deleted]             (none)     -> origin/tobiaseigen-patch-3
 - [deleted]             (none)     -> origin/tobiaseigen-patch-5
 - [deleted]             (none)     -> origin/update-composer-media-optimization-requirements
 - [deleted]             (none)     -> origin/ux/admin-plugins-ui-guidelines
   274e18622..484006056  main                    -> origin/main
 * [new branch]          0-a-dl                  -> origin/0-a-dl
 * [new branch]          add-live-reload-disable-option -> origin/add-live-reload-disable-option
 * [new branch]          add-shift-detect        -> origin/add-shift-detect
 * [new branch]          add-verbose-logging-for-google-oauth -> origin/add-verbose-logging-for-google-oauth
 * [new branch]          auto-grid-images        -> origin/auto-grid-images
 * [new branch]          chat-uppy-upload        -> origin/chat-uppy-upload
 * [new branch]          chunk-size              -> origin/chunk-size
 * [new branch]          cleanup-mobile-topic-footer-area -> origin/cleanup-mobile-topic-footer-area
 + 7f254be61...4264fe0d6 coco/generic-importer   -> origin/coco/generic-importer  (forced update)
 * [new branch]          dependabot/bundler/omniauth-google-oauth2-1.2.0 -> origin/dependabot/bundler/omniauth-google-oauth2-1.2.0
 * [new branch]          dependabot/bundler/rackup-1.0.1 -> origin/dependabot/bundler/rackup-1.0.1
 * [new branch]          dependabot/bundler/sass-embedded-1.80.6 -> origin/dependabot/bundler/sass-embedded-1.80.6
 * [new branch]          dependabot/bundler/sassc-embedded-1.80.1 -> origin/dependabot/bundler/sassc-embedded-1.80.1
 * [new branch]          dependabot/npm_and_yarn/glimmer/component-2.0.0 -> origin/dependabot/npm_and_yarn/glimmer/component-2.0.0
 * [new branch]          dependabot/npm_and_yarn/sass-1.80.6 -> origin/dependabot/npm_and_yarn/sass-1.80.6
 * [new branch]          dev-faster-tests        -> origin/dev-faster-tests
 * [new branch]          dev-nginx-conf          -> origin/dev-nginx-conf
 * [new branch]          dev/automation-scriptable-add-with-class -> origin/dev/automation-scriptable-add-with-class
 * [new branch]          dev/composer_args_simplification -> origin/dev/composer_args_simplification
 * [new branch]          dev/convert-admin-emojis-ui-to-new-layout -> origin/dev/convert-admin-emojis-ui-to-new-layout
 * [new branch]          dev/glimmer-post-menu   -> origin/dev/glimmer-post-menu
 * [new branch]          dev/port-outlet-wrapper-to-stable -> origin/dev/port-outlet-wrapper-to-stable
 * [new branch]          dev/refactor-themes-controller-to-services-part-1 -> origin/dev/refactor-themes-controller-to-services-part-1
 * [new branch]          dev/remap-enhancements  -> origin/dev/remap-enhancements
 * [new branch]          dev/remove-deprecated-respect-plugin-positional-argument -> origin/dev/remove-deprecated-respect-plugin-positional-argument
 * [new branch]          dev/use-new-filestore-download-method -> origin/dev/use-new-filestore-download-method
 + 59bf25001...8e5e61375 devcontainer            -> origin/devcontainer  (forced update)
 * [new branch]          drawer-composer-positioning -> origin/drawer-composer-positioning
 * [new branch]          events-ui               -> origin/events-ui
 * [new branch]          feature-paginate-categories -> origin/feature-paginate-categories
 * [new branch]          feature/add-user-to-topic_tags_changed-event -> origin/feature/add-user-to-topic_tags_changed-event
 + a0042745d...6d5864113 feature/bulk-dismiss-buttons-confirmation -> origin/feature/bulk-dismiss-buttons-confirmation  (forced update)
 * [new branch]          feature/custom-fields-for-existing-users -> origin/feature/custom-fields-for-existing-users
 * [new branch]          fix-safari-below-18-detection -> origin/fix-safari-below-18-detection
 * [new branch]          fix/resume_editing_pm   -> origin/fix/resume_editing_pm
 * [new branch]          glint                   -> origin/glint
 * [new branch]          issue/fix-plugin-actions-outlet -> origin/issue/fix-plugin-actions-outlet
 * [new branch]          loic-enable-rspec-rule  -> origin/loic-enable-rspec-rule
 * [new branch]          loic-experiment-model-value-type -> origin/loic-experiment-model-value-type
 * [new branch]          loic-persist-step-services -> origin/loic-persist-step-services
 + 26e2ddbde...10b203c30 loic-rails-7.2          -> origin/loic-rails-7.2  (forced update)
 * [new branch]          mt/idb                  -> origin/mt/idb
 * [new branch]          perf-chat-auto-join-take-42 -> origin/perf-chat-auto-join-take-42
 * [new branch]          post-badge-poc          -> origin/post-badge-poc
 * [new branch]          redesign-permalinks     -> origin/redesign-permalinks
 * [new branch]          render-glimmer-granular -> origin/render-glimmer-granular
 * [new branch]          revert-28587-revert-28321-dev/remove-create_post_for_category_and_tag_changes-setting -> origin/revert-28587-revert-28321-dev/remove-create_post_for_category_and_tag_changes-sett
 * [new branch]          safari-hacks-sayonara   -> origin/safari-hacks-sayonara
 * [new branch]          sidebar-a11y-viewport-zoom -> origin/sidebar-a11y-viewport-zoom
 * [new branch]          sort-chat-channels-with-unread-threads -> origin/sort-chat-channels-with-unread-threads
   d3ad2ecda..6cd6ed5b8  stable                  -> origin/stable
 * [new branch]          tabs                    -> origin/tabs
 * [new branch]          tag-name-transformer    -> origin/tag-name-transformer
 * [new branch]          testing_debian_12       -> origin/testing_debian_12
   274e18622..484006056  tests-passed            -> origin/tests-passed
 * [new branch]          virtual-keyboard-fix-login -> origin/virtual-keyboard-fix-login
 * [new branch]          whats-new-notify-plugins -> origin/whats-new-notify-plugins
 t [tag update]          beta                    -> beta
 t [tag update]          latest-release          -> latest-release
 * [new tag]             v3.3.1                  -> v3.3.1
 * [new tag]             v3.3.2                  -> v3.3.2
 * [new tag]             v3.4.0.beta1            -> v3.4.0.beta1
 * [new tag]             v3.4.0.beta2            -> v3.4.0.beta2
I, [2024-11-07T19:34:58.945416 #1]  INFO -- :
I, [2024-11-07T19:34:58.945546 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [[ $(git symbolic-ref --short HEAD) == tests-passed ]] ; then
      git pull
  else
      git -c advice.detachedHead=false checkout tests-passed
  fi
'
Switched to a new branch 'tests-passed'
I, [2024-11-07T19:35:04.538466 #1]  INFO -- : branch 'tests-passed' set up to track 'origin/tests-passed'.

I, [2024-11-07T19:35:04.538640 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git config user.discourse-version tests-passed
I, [2024-11-07T19:35:04.565429 #1]  INFO -- :
I, [2024-11-07T19:35:04.565594 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2024-11-07T19:35:04.571229 #1]  INFO -- :
I, [2024-11-07T19:35:04.571407 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2024-11-07T19:35:04.577468 #1]  INFO -- :
I, [2024-11-07T19:35:04.577635 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2024-11-07T19:35:04.583818 #1]  INFO -- :
I, [2024-11-07T19:35:04.583984 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2024-11-07T19:35:04.589677 #1]  INFO -- :
I, [2024-11-07T19:35:04.589812 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2024-11-07T19:35:04.595224 #1]  INFO -- :
I, [2024-11-07T19:35:04.595361 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2024-11-07T19:35:04.601289 #1]  INFO -- :
I, [2024-11-07T19:35:04.601434 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2024-11-07T19:35:04.610769 #1]  INFO -- :
I, [2024-11-07T19:35:04.610903 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log /var/www/di
I, [2024-11-07T19:35:04.619848 #1]  INFO -- :
I, [2024-11-07T19:35:04.619981 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2024-11-07T19:35:04.636483 #1]  INFO -- :
I, [2024-11-07T19:35:04.637391 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2024-11-07T19:35:04.663135 #1]  INFO -- :
I, [2024-11-07T19:35:04.663283 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2024-11-07T19:35:04.674349 #1]  INFO -- :
I, [2024-11-07T19:35:04.674500 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2024-11-07T19:35:04.687279 #1]  INFO -- :
I, [2024-11-07T19:35:04.687417 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2024-11-07T19:35:05.168181 #1]  INFO -- :
I, [2024-11-07T19:35:05.168344 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2024-11-07T19:35:05.179835 #1]  INFO -- :
I, [2024-11-07T19:35:05.180335 #1]  INFO -- : Replacing # redis with if [ ! -d /shared/redis_data ]; then
  install -d -m 0755 -o redis -g redis /shared/redis_data
fi
sv start redis || exit 1 in /etc/service/unicorn/run
I, [2024-11-07T19:35:05.183224 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Cloning into 'docker_manager'...
I, [2024-11-07T19:35:06.292926 #1]  INFO -- :
I, [2024-11-07T19:35:06.302691 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2024-11-07T19:35:06.323863 #1]  INFO -- :
I, [2024-11-07T19:35:06.324325 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2024-11-07T19:35:06.345166 #1]  INFO -- :
I, [2024-11-07T19:35:06.345559 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2024-11-07T19:35:06.360681 #1]  INFO -- :
I, [2024-11-07T19:35:06.361834 #1]  INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
I, [2024-11-07T19:35:06.362793 #1]  INFO -- : Replacing (?m-ix:upstream[^\}]+\}) with upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2024-11-07T19:35:06.363496 #1]  INFO -- : Replacing (?-mix:server_name.+$) with server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2024-11-07T19:35:06.366234 #1]  INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2024-11-07T19:35:06.367840 #1]  INFO -- : Replacing (?-mix:worker_connections.+$) with worker_connections $nginx_worker_connections ; in /etc/nginx/nginx.conf
I, [2024-11-07T19:35:06.368440 #1]  INFO -- : > echo "done configuring web"
I, [2024-11-07T19:35:06.381488 #1]  INFO -- : done configuring web

I, [2024-11-07T19:35:06.381959 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
I, [2024-11-07T19:35:08.003914 #1]  INFO -- : Successfully installed bundler-2.5.18
1 gem installed

I, [2024-11-07T19:35:08.004091 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
I, [2024-11-07T19:35:22.478869 #1]  INFO -- :
I, [2024-11-07T19:35:22.479564 #1]  INFO -- : > cd /var/www/discourse && if [ -f yarn.lock ]; then
  if [ -d node_modules/.pnpm ]; then
    echo "This version of Discourse uses yarn, but pnpm node_modules are preset. Cleaning up..."
    find ./node_modules ./app/assets/javascripts/*/node_modules -mindepth 1 -maxdepth 1 -exec rm -rf {} +
  fi
  su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
else
  su discourse -c 'CI=1 pnpm install --frozen-lockfile'
fi
I, [2024-11-07T19:36:21.891214 #1]  INFO -- : Detected yarn-managed node_modules. Performing one-time cleanup...
cleanup done
Scope: all 19 workspace projects
Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
Packages: +1828
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 1828, reused 0, downloaded 0, added 0
Progress: resolved 1828, reused 0, downloaded 16, added 0
Progress: resolved 1828, reused 0, downloaded 32, added 21
Progress: resolved 1828, reused 0, downloaded 119, added 156
Progress: resolved 1828, reused 0, downloaded 190, added 260
Progress: resolved 1828, reused 0, downloaded 248, added 311
Progress: resolved 1828, reused 0, downloaded 326, added 393
Progress: resolved 1828, reused 0, downloaded 363, added 428
Progress: resolved 1828, reused 0, downloaded 371, added 438
Progress: resolved 1828, reused 0, downloaded 394, added 457
Progress: resolved 1828, reused 0, downloaded 472, added 538
Progress: resolved 1828, reused 0, downloaded 539, added 606
Progress: resolved 1828, reused 0, downloaded 582, added 651
Progress: resolved 1828, reused 0, downloaded 644, added 711
Progress: resolved 1828, reused 0, downloaded 689, added 756
Progress: resolved 1828, reused 0, downloaded 705, added 768
Progress: resolved 1828, reused 0, downloaded 894, added 965
Progress: resolved 1828, reused 0, downloaded 927, added 994
Progress: resolved 1828, reused 0, downloaded 1014, added 1080
Progress: resolved 1828, reused 0, downloaded 1068, added 1140
Progress: resolved 1828, reused 0, downloaded 1123, added 1189
Progress: resolved 1828, reused 0, downloaded 1132, added 1196
Progress: resolved 1828, reused 0, downloaded 1172, added 1237
Progress: resolved 1828, reused 0, downloaded 1173, added 1238
Progress: resolved 1828, reused 0, downloaded 1179, added 1248
Progress: resolved 1828, reused 0, downloaded 1191, added 1254
Progress: resolved 1828, reused 0, downloaded 1253, added 1319
Progress: resolved 1828, reused 0, downloaded 1380, added 1445
Progress: resolved 1828, reused 0, downloaded 1399, added 1466
Progress: resolved 1828, reused 0, downloaded 1434, added 1503
Progress: resolved 1828, reused 0, downloaded 1493, added 1560
Progress: resolved 1828, reused 0, downloaded 1508, added 1578
Packages are hard linked from the content-addressable store to the virtual store.
  Content-addressable store is at: /home/discourse/.local/share/pnpm/store/v3
  Virtual store is at:             node_modules/.pnpm
Progress: resolved 1828, reused 0, downloaded 1512, added 1580
Progress: resolved 1828, reused 0, downloaded 1513, added 1580
Progress: resolved 1828, reused 0, downloaded 1527, added 1591
Progress: resolved 1828, reused 0, downloaded 1546, added 1612
Progress: resolved 1828, reused 0, downloaded 1605, added 1673
Progress: resolved 1828, reused 0, downloaded 1660, added 1731
Progress: resolved 1828, reused 0, downloaded 1718, added 1792
Progress: resolved 1828, reused 0, downloaded 1741, added 1828, done
.../core-js@3.33.0/node_modules/core-js postinstall$ node -e "try{require('./postinstall')}catch(e){}"
.../core-js@2.6.12/node_modules/core-js postinstall$ node -e "try{require('./postinstall')}catch(e){}"
.../node_modules/@swc/core postinstall$ node postinstall.js
.../esbuild@0.24.0/node_modules/esbuild postinstall$ node install.js
.../lefthook@1.8.2/node_modules/lefthook postinstall$ node postinstall.js
.../core-js@3.33.0/node_modules/core-js postinstall: Done
.../core-js@2.6.12/node_modules/core-js postinstall: Done
.../lefthook@1.8.2/node_modules/lefthook postinstall: Done
.../node_modules/@swc/core postinstall: Done
.../esbuild@0.24.0/node_modules/esbuild postinstall: Done

devDependencies:
+ @babel/plugin-proposal-decorators 7.25.9
+ @discourse/lint-configs 1.4.2
+ @discourse/moment-timezone-names-translations 1.0.0
+ @fortawesome/fontawesome-free 6.6.0
+ @glint/core 1.5.0
+ @glint/environment-ember-loose 1.5.0
+ @glint/environment-ember-template-imports 1.5.0
+ @glint/template 1.5.0
+ @mixer/parallel-prettier 2.0.3
+ @swc/core 1.9.1
+ chart.js 3.5.1
+ chartjs-plugin-datalabels 2.2.0
+ chrome-launcher 1.1.2
+ chrome-remote-interface 0.33.2
+ concurrently 9.1.0
+ ember-template-lint 6.0.0
+ esbuild 0.24.0
+ eslint 8.57.0
+ jsdoc 4.0.4
+ lefthook 1.8.2
+ licensee 11.1.0
+ lint-to-the-future 2.2.0
+ lint-to-the-future-ember-template 1.2.0
+ lint-to-the-future-eslint 2.2.0
+ magnific-popup 1.1.0
+ moment 2.30.1
+ moment-timezone 0.5.45
+ pikaday 1.8.2
+ prettier 2.8.8
+ puppeteer-core 23.7.0
+ squoosh 2.0.0
+ terser 5.36.0
+ typescript 5.6.3

Done in 58.8s

В моем обновлении произошла ошибка

```ruby
api_key = "a quick brown fox"
fetch("https://api.example.com/data", headers: { 'Authorization' => api_key })

Пожалуйста, помогите мне это исправить.

1 лайк

Похоже, это именно та проблема.

Вот место, где она была добавлена. Какой коммит в вашем текущем контейнере? (Если он не запущен, вы можете выполнить ./launcher start app, чтобы снова запустить его.)

1 лайк

Привет, @pfaffman,

Спасибо за столь быстрый ответ. Пока ждал, мне удалось устранить проблему с устаревшей версией Docker, но ошибки остаются прежними.

Я попробовал запустить ./launcher start app, приложение запустилось, но веб-интерфейс по-прежнему не загружается. Поэтому я действительно не знаю, на каком коммите нахожусь. Помню, что видел версию 3.1 beta, какая-то там минорная ревизия, кажется. Даже не уверен, какой канал обновлений я использую — тот, что по умолчанию при следовании инструкциям по установке.

Так что я не знаю, что делать… Могу ли я пересобрать систему, используя предыдущий коммит?

1 лайк

Я тоже не знаю, что вам ответить. Возможно, в других коммитах были добавлены или удалены миграции, из-за чего вы оказались в нерабочем состоянии. На данный момент у меня нет хорошего совета.

Мне кажется, ваша база данных была мигрирована дальше версии Discourse, установленной в вашем контейнере, и для исправления ситуации потребуется успешная сборка.

Возможно, вы сможете добавить этот столбец вручную, а затем повторить попытку. Или же сделайте резервную копию, запустите новый сайт и восстановите эту копию там.

Хм… не очень хочется этого делать… к счастью, у меня есть ежедневные резервные копии.

Я заметил, что

 docker images -a
REPOSITORY            TAG                 IMAGE ID       CREATED             SIZE
local_discourse/app   latest              5692a781232c   About an hour ago   4.21GB
discourse/base        2.0.20240825-0027   9dc96b6115cb   2 months ago        3.38GB
<none>                <none>              b492a384cb07   4 months ago        4.18GB
discourse/base        2.0.20240602-0023   814acddaf6fd   5 months ago        3.14GB

Могу ли я попросить launcher запустить один из этих образов? Или лучше полностью удалить и пересобрать? Если да, то как это сделать?

Если вас устраивает вариант с использованием последней резервной копии, я бы развернул новый сервер и восстановил на нём эту копию.

Если развёртывание нового сервера вызывает сложности, более рискованный, но жизнеспособный подход — удалить директории PostgreSQL, а затем выполнить пересборку и восстановление. Если вы подтвердите, что резервная копия успешно восстанавливается на другом сервере, это сделает данный метод немного безопаснее. Однако, судя по всему, ваша операционная система уже устарела и больше не поддерживается.

Я запустил новую виртуальную машину, установил Discourse и попытался восстановить резервную копию. Я получаю ту же ошибку:

[2024-11-07 22:06:11] Миграция базы данных...
[2024-11-07 22:06:18] ИСКЛЮЧЕНИЕ: /var/www/discourse/lib/discourse.rb:139:in `exec': Не удалось выполнить миграцию базы данных.
rake aborted!
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ОШИБКА: столбец "require_message" не существует (ActiveRecord::StatementInvalid)
LINE 1: ..._key, description, notify_type, auto_action_type, require_me...

Что мне теперь делать?

Я снова в строю. Перешел на стабильную ветку и выполнил восстановление.

Я тоже столкнулся с этой ошибкой при обновлении. Что мне делать?

У меня тоже возникла эта проблема.

Как вы её решили?

Если вы используете то же решение, что и @TheStealth, вам нужно отредактировать файл app.yml и пересобрать контейнер.

cd /var/discourse
nano containers/app.yml

Примерно на строке 38 измените:

  ## Какую ревизию Git должен использовать этот контейнер? (по умолчанию: tests-passed)
  #version: tests-passed

на

  ## Какую ревизию Git должен использовать этот контейнер? (по умолчанию: tests-passed)
  version: stable

Сохраните файл, затем выполните:

./launcher rebuild app

Учитывая сообщение об ошибке, я предполагаю, что проблема связана со страницей:

/admin/config/flags

Я бы удалил пользовательские флаги, которые вы могли создать ранее. Затем попробуйте снова пересобрать на ветке tests-passed.

1 лайк

Большое спасибо. Мне удалось снова запустить Discourse.

Однако я проверил здесь, и там не было ничего, что мы создали.

У вас есть какие-то другие идеи?

У меня есть идея, хотя я не уверен, насколько хорошо она сработает.

Что если вы вручную добавите отсутствующий столбец, а затем снова выполните сборку?

Как это сделать?

Я почти уверен, что это баг. Подозреваю, что проблема связана с удалением миграции из какого-то коммита, из-за чего будущие миграции не выполняются, так как в таблице отсутствует require_message, аналогично ситуации, описанной здесь: Restore failing with missing chat_mention function

1 лайк

Я могу подтвердить, что это обновление привело к сбою моего Discourse, и мне также пришлось восстановить его из резервной копии. Однако для Docker_manager обновление прошло без каких-либо проблем, как и ожидалось.

Похоже, нам придется подождать следующего обновления, которое исправит все проблемы.

2 лайка

Да, у меня тоже сейчас не работает. Спасибо Стивену — я перешёл на стабильную версию Discourse и пересобрал приложение. Теперь всё работает.

Привет, @TheStealth

Спасибо за сообщение об этой ошибке и приносим извинения за доставленные неудобства.

Эта проблема должна быть исправлена в этом PR :crossed_fingers:

2 лайка