从失败/部分应用的升级中恢复

嗯……:thinking: 真奇怪,我设置了一个全新的 2.9.0.beta2,提交 5374e587a3……
……并重建到最新的 2.9.0.beta3(提交 6555f0c11b)没有任何问题……

1 个赞

也许问题出在之前?

我猜手动删除多余的东西可能是解决办法。

:weary: 我不得不承认我并不完全明白发生了什么。我猜尼克不知何故错过了 db/post_migrate/20220107014925_drop_bookmark_polymorphic_columns.rb 是因为这个 commit

删除列命令有任何输出吗?

我再次尝试了这些命令,在 ./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:

1 个赞

不确定我是否正确输入了@pfaffman的代码?

您能\n- 备份一下 :sweat_smile: \n- 尝试\n\n\n\nALTER TABLE bookmarks \nDROP COLUMN bookmarkable_id;\n

1 个赞

像这样吗?

Backup done.
Output file is in: /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: command not found
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;
ERROR:  relation "bookmarks" does not exist
postgres=#
1 个赞

请编辑您的 app.yml 文件,取消注释版本行(注意缩进),将其改为
version: cd7ce52138bed391d5efc56366e7a6517a6079e7
然后重新构建。

找不到版本行了,Ben?

1 个赞
 ## 此容器应使用哪个 Git 修订版? (默认值:tests-passed)
  #version: tests-passed

就是这个吗?

1 个赞

:+1:

然后替换 #version: tests-passed

version: cd7ce52138bed391d5efc56366e7a6517a6079e7

然后运行 /var/discourse/launcher rebuild app

1 个赞

只是在重建之前确认一下是否正确

  ## Which Git revision should this container use? (default: tests-passed)
  version: cd7ce52138bed391d5efc56366e7a6517a6079e7

我需要再次缩进吗?

(注意缩进)

现在代码看起来是这样的

## Which Git revision should this container use? (default: tests-passed)
   version: cd7ce52138bed391d5efc56366e7a6517a6079e7

重建?

1 个赞

不,第一个是好的

谢谢,Ben

现在就重建

应与 # 对齐

1 个赞
## 此容器应使用哪个 Git 修订版? (默认值: tests-passed)
version: cd7ce52138bed391d5efc56366e7a6517a6079e7
1 个赞

就像你的第一个一样:

1 个赞

本,它奏效了!:grin:

非常感谢您抽出宝贵的时间和精力来帮助我!

(请给我发私信,以便我给您寄些咖啡钱或啤酒钱)

2 个赞