Я застрял при попытке обновить экземпляр Discourse в Docker. При попытке пересобрать, инициализировать или любым другим способом настроить контейнер я получаю следующую ошибку:
I, [2020-11-18T15:23:37.357104 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake plugin:pull_compatible_all'
I, [2020-11-18T15:23:40.298932 #1] INFO -- : discourse-slack-official уже находится в последней совместимой версии
docker_manager уже находится в последней совместимой версии
I, [2020-11-18T15:23:40.299193 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
StandardError: Произошла ошибка, все последующие миграции отменены:
PG::SyntaxError: ОШИБКА: синтаксическая ошибка вблизи "NOT"
LINE 2: ADD COLUMN IF NOT EXISTS image_upload_id bigint
^
По результатам расследования выяснилось, что для последней версии Discourse требуется PostgreSQL 12, но в настоящее время он не включён в официальный Docker-образ.
Кажется, в репозитории есть ветка разработки для сборки контейнера с PostgreSQL 12, но никаких активных pull-запросов или чего-либо подобного нет…
Как мне исправить или обновить мою установку Discourse? Путь обновления указан неверно, и теперь я борюсь за то, чтобы как можно скорее вернуть форумы в рабочее состояние!
Дополнительное примечание: ветка pg12 также не работает (хотя, похоже, пытается загрузить другую версию контейнера), но при выполнении db:migrate возникает та же ошибка…
Как давно у вас обновлён репозиторий discourse_docker? Я знаю, что скрипт launcher должен обновляться автоматически, но, возможно, стоит вручную выполнить git pull для уверенности.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
discourse/base 2.0.20201004-2310 b64c37d7ab06 6 недель назад 2.4GB
local_discourse/data latest 253fd4d68068 3 года назад 1.7GB
Я точно удалил старые образы Docker и несколько раз пытался пересобрать приложение web.
Ах, мне нужно сначала пересобрать контейнер data или что-то в этом роде? Я его ещё не трогал.