Stiamo utilizzando discourse 3.3.0 e ho il job Jobs::EmbeddingsBackfill che fallisce con: Job exception: PG::UndefinedTable: ERROR: relation "ai_topic_embeddings_8_1" does not exist
Posso vedere che ho la tabella “ai_topic_embeddings”, ma nessuna delle tabelle ai_topic_embeddings_8_1, ai_topic_embeddings_6_1…
Quando eseguo rake db:migrate:status vedo che le migrazioni sono attive e la maggior parte delle funzionalità AI funzionano.
Ho appena visto che c’è una migrazione chiamata 20240611170905_move_embeddings_to_single_table_per_type
che indica che abbiamo applicato migrazioni che non avremmo dovuto applicare utilizzando la versione errata del plugin.
Ho diverse migrazioni come questa, che si riferiscono a quella che penso non avrebbe dovuto essere eseguita:
up 20240807150605 ********** NO FILE **********
up 20240809162837 ********** NO FILE **********
up 20240809163303 ********** NO FILE **********
C’è un modo per annullarle? Se c’è un modo per rimuovere tutto da discourse-ai sulla mia istanza e ricominciare da capo, va bene anche quello.
Riuscito a risolvere il mio problema ripristinando manualmente le migrazioni con sql.
Per chiunque commetta lo stesso errore, dopo aver impostato il plugin sul giusto commit, esegui questo: rake db:migrate:status
questo mostrerà righe senza file: up 20240809163303 ********** NO FILE **********
per ognuna di esse trova il file di migrazione associato sul github del plugin (prova a cercare nell’intera organizzazione discourse così è più veloce)
quindi se non c’è un’opzione down, rimuovila semplicemente da sql: delete from schema_migrations where version = '........'; e ripristinala manualmente con sql