Восстановление после неудачного или частично применённого обновления

Хм… :thinking: это странно, я установил чистую версию 2.9.0.beta2, коммит 5374e587a3,
…и обновился до последней версии 2.9.0.beta3 (коммит 6555f0c11b) без каких-либо проблем…

Возможно, проблема была где-то до этого?

Думаю, ручное удаление лишнего может стать решением.

:weary: Признаюсь, я не до конца понимаю, что происходит. Я предполагаю, что каким-то образом Ник не видит файл db/post_migrate/20220107014925_drop_bookmark_polymorphic_columns.rb из-за этого коммита?

Были ли какие-либо выводы для команд удаления столбцов?

Я только что снова попробовал выполнить команды, и после ./launcher enter app получил эту ошибку:

Error response from daemon: Container 69b56d9734c3654d0b0e0661ff612c1020781191d3ec1d866e453747df03fcdf is not running

Новая проблема?

Удалось запустить приложение командой sudo ./launcher enter app

Это мой ввод:

root@discourseSwingrz:~# cd /var/discourse
root@discourseSwingrz:/var/discourse# ./launcher enter app
x86_64 arch detected.
Error response from daemon: Container 69b56d9734c3654d0b0e0661ff612c1020781191d3ec1d866e453747df03fcdf is not running
root@discourseSwingrz:/var/discourse# sudo ./launcher start app
x86_64 arch detected.

starting up existing container
+ /usr/bin/docker start app
app
root@discourseSwingrz:/var/discourse# cd /var/discourse
root@discourseSwingrz:/var/discourse# ./launcher enter app
x86_64 arch detected.
root@discourseSwingrz-app:/var/www/discourse# su - postgres
postgres@discourseSwingrz-app:~$ psql
psql (13.2 (Debian 13.2-1.pgdg100+1))
Type "help" for help.

postgres=# ALTER TABLE bookmarks 
postgres-# DROP COLUMN bookmarkable_id
postgres-# DROP COLUMN bookmarkable_type;
ERROR:  syntax error at or near "DROP"
LINE 3: DROP COLUMN bookmarkable_type;
        ^
postgres=# 

Благодарю вас, ребята, за всю помощь в этом вопросе :slight_smile:

Не уверен, правильно ли я ввожу код @pfaffman?

Не могли бы вы

  • сделать резервную копию :sweat_smile:
  • попробовать
ALTER TABLE bookmarks 
DROP COLUMN bookmarkable_id;

так?

Резервное копирование завершено.
Файл вывода находится в: /var/www/discourse/public/backups/default/swingrz-2022-04-03-101750-v20220316150247.tar.gz

root@discourseSwingrz-app:/var/www/discourse# ALTER TABLE bookmarks 
bash: ALTER: команда не найдена
root@discourseSwingrz-app:/var/www/discourse# su - postgres
postgres@discourseSwingrz-app:~$ psql
psql (13.2 (Debian 13.2-1.pgdg100+1))
Введите "help" для справки.

postgres=# ALTER TABLE bookmarks 
postgres-# DROP COLUMN bookmarkable_id;
ERROR:  relation "bookmarks" does not exist
postgres=# 

Можете отредактировать файл app.yml, раскомментировать строку с версией (обратите внимание на отступы), чтобы она выглядела так:
version: cd7ce52138bed391d5efc56366e7a6517a6079e7
и пересобрать приложение.

Не могу найти строку с версией, Бен?

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

Это оно?

:+1:

Так что замените #version: tests-passed

На version: cd7ce52138bed391d5efc56366e7a6517a6079e7

Затем выполните /var/discourse/launcher rebuild app

Просто проверяю, всё ли верно, прежде чем пересобирать

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

Мне нужно снова отступить?

(обратите внимание на отступы)

Теперь код выглядит так

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

Пересобрать?

Нет, первый вариант хорош.

Спасибо, Бен.

Сейчас пересоберу.

Должно быть выровнено по #

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

Как и в вашем первом:

Бен, сработало! :grin:

Огромное спасибо за ваше время и усилия, которые вы потратили на помощь мне!

(пожалуйста, напишите мне в личные сообщения, чтобы я мог отправить вам немного денег на кофе или пиво)