Migrations appliquées que nous n'aurions pas dû faire avec discourse-ai

Salut,

Nous utilisons Discourse 3.3.0, et j’ai le job Jobs::EmbeddingsBackfill qui échoue avec :
Job exception: PG::UndefinedTable: ERROR: relation "ai_topic_embeddings_8_1" does not exist

Je peux voir que j’ai la table “ai_topic_embeddings”, mais aucune des tables ai_topic_embeddings_8_1, ai_topic_embeddings_6_1

Lorsque j’exécute rake db:migrate:status, je vois que les migrations sont appliquées, et la plupart des fonctionnalités d’IA fonctionnent.

Une idée de ce qui a pu mal tourner ?

1 « J'aime »

Je viens de voir qu’il y a une migration appelée 20240611170905_move_embeddings_to_single_table_per_type
ce qui indique que nous avons appliqué des migrations que nous n’aurions pas dû faire en utilisant la mauvaise version du plugin.

J’ai plusieurs migrations comme celle-ci, qui font référence à celle qui ne devrait pas être faite je pense :
up 20240807150605 ********** AUCUN FICHIER **********
up 20240809162837 ********** AUCUN FICHIER **********
up 20240809163303 ********** AUCUN FICHIER **********

Y a-t-il un moyen de les annuler ? S’il y a un moyen de simplement tout supprimer de discourse-ai sur mon instance et de recommencer, c’est bien aussi.

1 « J'aime »

J’ai réussi à résoudre mon problème en annulant manuellement les migrations avec SQL.

Pour quiconque fait la même erreur, après avoir défini le plugin sur le bon commit, exécutez ceci : rake db:migrate:status
cela affichera des lignes sans fichiers : up 20240809163303 ********** NO FILE **********
pour chacune d’elles, trouvez le fichier de migration associé sur le github du plugin (essayez de rechercher sur toute l’organisation discourse pour que ce soit plus rapide)
ensuite, s’il n’y a pas d’option down, supprimez-la simplement de SQL : delete from schema_migrations where version = '........'; et annulez-la manuellement avec SQL.

1 « J'aime »

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