こんにちは。
Discourse 3.3.0 を使用しており、Jobs::EmbeddingsBackfill ジョブが以下のエラーで失敗します。
Job exception: PG::UndefinedTable: ERROR: relation "ai_topic_embeddings_8_1" does not exist
ai_topic_embeddings テーブルは存在しますが、ai_topic_embeddings_8_1 や ai_topic_embeddings_6_1 などは見当たりません。
rake db:migrate:status を実行すると、マイグレーションは完了しており、ほとんどの AI 機能は動作しています。
何が問題だったのか、何か考えはありますか?
「いいね!」 1
20240611170905_move_embeddings_to_single_table_per_type というマイグレーションがあるのを見ました。これは、間違ったプラグインバージョンを使用したために、適用すべきではないマイグレーションを適用してしまったことを示しています。
私が思うに、適用すべきではないマイグレーションを参照している、このようなマイグレーションが複数あります。
up 20240807150605 ********** NO FILE **********
up 20240809162837 ********** NO FILE **********
up 20240809163303 ********** NO FILE **********
これらをロールバックする方法はありますか?もし、私のインスタンスから discourse-ai のすべてを削除して、クリーンな状態からやり直す方法があれば、それでも構いません。
「いいね!」 1
SQL を使用して手動でマイグレーションを元に戻すことで、問題を解決できました。
同じ間違いをする人のために、プラグインを正しいコミットに設定した後、次を実行してください: rake db:migrate:status
これにより、ファイルのない行が表示されます: up 20240809163303 ********** NO FILE **********
それぞれについて、プラグインの GitHub で関連するマイグレーションファイルを見つけてください(検索を速くするために、Discourse の組織全体を検索してみてください)。
次に、ダウンオプションがない場合は、SQL から削除するだけです: delete from schema_migrations where version = '........'; そして SQL で手動でロールバックします。
「いいね!」 1
system
(system)
クローズされました:
2024 年 10 月 17 日午後 2:09
4
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.