wir verwenden Discourse 3.3.0 und ich habe den Job Jobs::EmbeddingsBackfill, der mit folgender Fehlermeldung fehlschlägt: Job exception: PG::UndefinedTable: ERROR: relation "ai_topic_embeddings_8_1" does not exist
Ich kann sehen, dass ich die Tabelle „ai_topic_embeddings“ habe, aber keine der Tabellen „ai_topic_embeddings_8_1“, „ai_topic_embeddings_6_1“ usw.
Wenn ich rake db:migrate:status ausführe, sehe ich, dass die Migrationen aktiv sind und die meisten KI-Funktionen funktionieren.
Ich habe gerade eine Migration namens 20240611170905_move_embeddings_to_single_table_per_type gesehen, die darauf hindeutet, dass wir Migrationen angewendet haben, die wir nicht hätten anwenden sollen, da wir die falsche Plugin-Version verwendet haben.
Ich habe mehrere Migrationen wie diese, die sich auf die beziehen, die meiner Meinung nach nicht durchgeführt werden sollte:
up 20240807150605 ********** KEINE DATEI **********
up 20240809162837 ********** KEINE DATEI **********
up 20240809163303 ********** KEINE DATEI **********
Gibt es eine Möglichkeit, sie zurückzurollen? Wenn es eine Möglichkeit gibt, alles von discourse-ai auf meiner Instanz zu entfernen und neu zu beginnen, ist das auch gut.
Ich konnte mein Problem beheben, indem ich die Migrationen manuell mit SQL rückgängig gemacht habe.
Für alle, die den gleichen Fehler machen: Nachdem Sie das Plugin auf den richtigen Commit gesetzt haben, führen Sie Folgendes aus: rake db:migrate:status
Dies zeigt Ihnen Zeilen ohne Dateien an: up 20240809163303 ********** NO FILE **********
Suchen Sie für jede davon die zugehörige Migrationsdatei im Plugin-GitHub (versuchen Sie, im gesamten Discourse-Org zu suchen, damit es schneller geht).
Wenn es dann keine Down-Option gibt, entfernen Sie sie einfach aus der SQL: delete from schema_migrations where version = '........'; und machen Sie sie manuell mit SQL rückgängig.