Estamos usando o Discourse 3.3.0, e tenho o job Jobs::EmbeddingsBackfill que falha com: Job exception: PG::UndefinedTable: ERROR: relation "ai_topic_embeddings_8_1" does not exist
Consigo ver que tenho a tabela “ai_topic_embeddings”, mas nenhuma das ai_topic_embeddings_8_1, ai_topic_embeddings_6_1…
Ao executar rake db:migrate:status, vejo que as migrações estão ativas e a maioria dos recursos de IA está funcionando.
Acabei de ver uma migração chamada 20240611170905_move_embeddings_to_single_table_per_type
que indica que aplicamos migrações que não deveríamos ter aplicado por usar a versão errada do plugin.
Tenho várias migrações como esta, que se referem àquela que não deveria ter sido feita, eu acho:
up 20240807150605 ********** NO FILE **********
up 20240809162837 ********** NO FILE **********
up 20240809163303 ********** NO FILE **********
Existe alguma maneira de reverter essas migrações? Se houver uma maneira de simplesmente remover tudo do discourse-ai na minha instância e começar de novo, isso também seria bom.
Consegui corrigir meu problema revertendo as migrações manualmente com SQL.
Para quem cometer o mesmo erro, depois de definir o plugin para o commit correto, execute isto: rake db:migrate:status
Isso mostrará linhas sem arquivos: up 20240809163303 ********** NO FILE **********
Para cada uma delas, encontre o arquivo de migração associado no GitHub do plugin (tente pesquisar em toda a organização discourse para ser mais rápido)
então, se não houver opção de down, basta removê-la do SQL: delete from schema_migrations where version = '........'; e revertê-la manualmente com SQL.