Recuperando de upgrade falho/parcialmente aplicado

hum… :thinking: isso é estranho, eu configurei uma versão 2.9.0.beta2 recém-instalada, commit 5374e587a3,
…e reconstruí para a versão mais recente 2.9.0.beta3 (commit 6555f0c11b) sem nenhum problema…

1 curtida

Talvez o problema tenha sido em algum lugar antes disso?

Estou imaginando que apagar manualmente o conteúdo extra pode ser o caminho a seguir.

:weary: Tenho que admitir que não entendi completamente o que está acontecendo. Estou imaginando que, de alguma forma, Nick está perdendo o db/post_migrate/20220107014925_drop_bookmark_polymorphic_columns.rb por causa deste commit?

Houve alguma saída para os comandos de exclusão de coluna?

Tentei os comandos novamente e, após ./launcher enter app, recebo este erro

Error response from daemon: Container 69b56d9734c3654d0b0e0661ff612c1020781191d3ec1d866e453747df03fcdf is not running

Novo problema?

Consegui iniciar o aplicativo com sudo ./launcher enter app

Esta é a minha entrada:

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=# 

Agradeço toda a ajuda de vocês :slight_smile:

1 curtida

Não tenho certeza se estou inserindo o código do @pfaffman corretamente?

Você poderia

  • fazer um backup :sweat_smile:
  • tentar
ALTER TABLE bookmarks
DROP COLUMN bookmarkable_id;
1 curtida

assim?

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 curtida

Você poderia editar seu app.yml, descomentar a linha de versão (cuidado com a indentação) para
version: cd7ce52138bed391d5efc56366e7a6517a6079e7
e reconstruir

Não consigo encontrar a linha de versão, Ben?

1 curtida
 ## Qual revisão do Git este contêiner deve usar? (padrão: tests-passed)
  #version: tests-passed

É isto?

1 curtida

:+1:

Então substitua #version: tests-passed

Por version: cd7ce52138bed391d5efc56366e7a6517a6079e7

Em seguida /var/discourse/launcher rebuild app

1 curtida

Só para ter certeza de que isso está correto antes de reconstruir

  ## Qual revisão do Git este contêiner deve usar? (padrão: testes-passaram)
  version: cd7ce52138bed391d5efc56366e7a6517a6079e7

Preciso indentar novamente?

(cuidado com a indentação)

Agora o código fica assim

## Qual revisão do Git este contêiner deve usar? (padrão: testes-passaram)
   version: cd7ce52138bed391d5efc56366e7a6517a6079e7

Reconstruir?

1 curtida

Não, o primeiro está bom

obrigado, Ben

Vou reconstruir agora

Deve estar alinhado com o #

1 curtida
## Qual revisão do Git este contêiner deve usar? (padrão: tests-passed)
version: cd7ce52138bed391d5efc56366e7a6517a6079e7
1 curtida

Como o seu primeiro:

1 curtida

Ben, funcionou! :grin:

Muito obrigado pelo seu tempo e esforço em me ajudar!

(por favor, me mande uma mensagem privada para que eu possa te enviar um café ou dinheiro para cerveja)

2 curtidas