Discourse の復元/更新ができません (PG::InvalidTextRepresentation: ERROR: invalid input syntax for type integer: "[]")

こんにちは!

現在、2.9.0.beta4で実行中のインスタンスがあり、移行する必要があったため、基本的なバックアップ/復元を行いましたが、新しいインスタンスでの復元に失敗しました。その後、元のインスタンスの更新を試みましたが、それも失敗しました。どちらも、db:migrate コマンド中に、同じ理由で失敗したようです。

更新エラー:https://pastebin.com/raw/sQrnMe27
復元エラー:https://pastebin.com/raw/idWYmEFq

ご協力ありがとうございます!

「いいね!」 2

これは:bug: のようです。

これはコアにあるように見えますが、標準的な質問は「標準以外のプラグインはありますか?」です。

「いいね!」 1

いいえ、バニラ(標準)のものです :slight_smile:

テストサイトで同様のエラーが発生しました。selectable_avatarサイト設定に不正なデータがあったため、railsコンソールで更新する必要がありました。

railsコンソールを使用してもよろしいですか?もしよろしければ、これを実行して何が表示されるか確認していただけますか?

SiteSetting.where(data_type:17)

「いいね!」 4

正しくできたか分かりませんが、以下のようになりました。

=> #<ActiveRecord::Relation [#<SiteSetting id: 56, name: "selectable_avatars", data_type: 17, value: "[]", created_at: "2022-06-07 04:30:35.458837000 +0000", updated_at: "2022-06-08 08:14:54.196037000 +0000">]>

「いいね!」 2

レールコンソールから再度 SiteSetting.selectable_avatars = \"\" を実行すれば、再構築できるはずです。

「いいね!」 6

現在、再構築中で、ストレスの多い db migrate コマンドを通過したばかりなので、これは修正されたと思います。
迅速なご協力、ありがとうございました!

「いいね!」 2

うまくいったようですね!この件について注目を集めることができるか確認したほうがいいでしょう。というのも、そのマイグレーションは、選択可能なアバターを新しいフォーマットに移行させるはずだと確信しているからです。

「いいね!」 2

その通りです。これまでのすべてのケースで機能していました。[] は古い形式でも有効な値ではないため、この特定のケースは非常に驚くべきものです。コンソールでの手動作業の残りか、インポートのエラーかもしれません :thinking:

さらに報告があれば、このケースに対する自動修正を追加します。

「いいね!」 2

ああ、そうか。通常、そのエラーが出るときは、間違った変数にアクセスするなど、私が何かを間違えたときなのですが、もしかしたら他のすべてが削除された後に残った状態だったのかもしれません。でも、本当に、あまり注意を払っていませんでした。:wink:

「いいね!」 1

私たちの「リスト」設定は、パイプ区切り文字列に対する薄いUIであるため、理論的には空のリストは空文字列として保存されるはずです。しかし、あなたは良い点を指摘しています。誰かがリストを空にしようとして、誤ってこのようなことをしたのかもしれません。

pry(main)> SiteSetting.selectable_avatars = []
=> []
pry(main)> SiteSetting.selectable_avatars
=> "[]"

(これは古い形式でのものです。新しい形式には、コンソールであってもこれを防ぐための検証があります)

「いいね!」 1

私たちの場合は、フォーラムが今月初めに設定され、コンソールとのやり取り(インポートも)は一切ありませんでした。実際、今日レールコンソールを発見しました :smile:

「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.