Я только что обновил свой форум (работавший с 2017 года) до версии 2.6 (с версии 2.4).
Во время обновления я заметил, что PostgreSQL 9.5 был заменён на PostgreSQL 12.
Операция перестроения завершилась без ошибок, но на главной странице появляется ошибка 500 (или сообщение «Oops»).
Та же ошибка возникает на странице категории.
Административная панель работает, профиль пользователя работает, список пользователей работает, отдельная публикация работает.
Однако раздел «Топ рефералов» в административной панели не работает.
У меня нет идей, как это исправить.
Спасибо большое.
[2020-08-27 10:06:41] Приостановка Sidekiq…
[2020-08-27 10:06:41] Ожидание завершения Sidekiq выполнения заданий (до 60 секунд)…
[2020-08-27 10:38:40] ИСКЛЮЧЕНИЕ: ОШИБКА: обнаружена взаимная блокировка (deadlock)
ДЕТАЛИ: Процесс 594 ожидает блокировку AccessExclusiveLock для отношения 1113165 базы данных 16569; заблокирован процессом 1617.
Процесс 1617 ожидает блокировку AccessShareLock для отношения 1113221 базы данных 16569; заблокирован процессом 594.
ПОДСКАЗКА: См. детали запроса в серверном журнале.
КОНТЕКСТ: SQL-запрос “ALTER TABLE public.categories SET SCHEMA backup;”
PL/pgSQL функция inline_code_block, строка 11, оператор EXECUTE
Если у кого-то ещё возникла такая проблема, сделайте следующее:
cd /var/discourse
./launcher enter app
rails c
Group.all.pluck(:id,:flair_icon,:flair_upload_id)
# для групп, у которых `flair_upload_id` есть значение, например:
g=Group.find(GROUP_ID_FROM_THE_LIST) # это id, а не flair_upload_id
g.flair_upload
g.save
Есть более элегантные способы, но если таких групп немного, этого должно быть достаточно для начала.