アップグレードの失敗/部分適用からの復旧

うーん… :thinking: それは奇妙ですね。クリーンな 2.9.0.beta2、コミット 5374e587a3 をセットアップしました。
…そして、問題なく 2.9.0.beta3 最新(コミット 6555f0c11b)に再構築しました…

「いいね!」 1

それより前のどこかに問題があったのかもしれません。

手動で余分なものを削除するのが良い方法かもしれません。

: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:

「いいね!」 1

@pfaffman のコードを正しく入力しているかどうかわかりません。

バックアップを作成し、試していただけますか?:sweat_smile:

ALTER TABLE bookmarks 
DROP COLUMN bookmarkable_id;
「いいね!」 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
として再構築してください。

バージョン行が見つからないのですが、ベン?

「いいね!」 1
 ## このコンテナはどのGitリビジョンを使用すべきですか? (デフォルト: tests-passed)
  #version: tests-passed

これでいいですか?

「いいね!」 1

:+1:

そして #version: tests-passedversion: 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

いいえ、最初のものが良いです

ありがとう、ベン

今から再構築します

に合わせる必要があります

「いいね!」 1
## このコンテナはどのGitリビジョンを使用すべきですか? (デフォルト: tests-passed)
version: cd7ce52138bed391d5efc56366e7a6517a6079e7
「いいね!」 1

最初のものと同様です。

「いいね!」 1

ベン、うまくいきました!:grin:

時間と労力をかけて手伝ってくれて本当にありがとう!

(コーヒーかビールの足しにしたいので、プライベートメッセージを送ってください)

「いいね!」 2