Применены миграции, которые не должны были быть применены с помощью discourse-ai

Здравствуйте,

Мы используем 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 я вижу, что миграции применены, и большинство функций ИИ работают корректно.

Есть ли какие-либо идеи, что могло пойти не так?

Только что увидел, что есть миграция с именем 20240611170905_move_embeddings_to_single_table_per_type, что указывает на то, что мы применили миграции, которые не должны были, используя неправильную версию плагина.

У меня есть несколько таких миграций, которые, как я полагаю, ссылаются на ту, которую не следует выполнять:
up 20240807150605 ********** ФАЙЛ ОТСУТСТВУЕТ **********
up 20240809162837 ********** ФАЙЛ ОТСУТСТВУЕТ **********
up 20240809163303 ********** ФАЙЛ ОТСУТСТВУЕТ **********

Есть ли способ откатить их? Если есть возможность просто удалить всё, связанное с discourse-ai, на моём экземпляре и начать заново, это тоже подойдёт.

Мне удалось решить проблему, вручную откатив миграции с помощью SQL.

Для тех, кто совершил ту же ошибку: после установки плагина на правильный коммит выполните команду rake db:migrate:status.
Это покажет строки без файлов: up 20240809163303 ********** NO FILE **********.
Для каждой такой строки найдите соответствующий файл миграции на GitHub плагина (попробуйте искать по всей организации discourse, чтобы ускорить процесс).
Затем, если опции down нет, просто удалите запись из SQL: delete from schema_migrations where version = '........'; и вручную откатите миграцию с помощью SQL.