Я работаю с машинописью и сиквелизом, и у меня есть следующие таблицы: Пророк , Модель и Задача , и все они имеют отношение n: mдруг с другом, поэтому sequelize автоматически создает 3 другие таблицы: modelProphets , modelTasks и prophetTasks .У меня есть простой репозиторий для каждого из них, а модели и задачи имеют дополнительную функцию в репозитории:
public findWithoutProphet(): Promise<any> {
const query = `SELECT models.name FROM models WHERE NOT EXISTS
(SELECT modelProphets.modelName FROM modelProphets WHERE models.name = modelProphets.modelName);`;
return this.database.rawQuery(query);
}
im модульное тестирование каждой функции репозитория, но дело в том, что когда я запускаю с использованием sequelizeдиалект 'sqlite', все работает нормально, но если я изменю его на свой локальный докер postgres и запуском снова, во время этого запроса выдается сообщение о том, что 'modelProphets' не существует (или prophetTasks, если я сначала запускаю задачу вместомодель).Все остальные функции репо, такие как создание, удаление, обновление, поиск, все работает отлично.Я даже проверил базу данных, используя pgAdmin4, и все таблицы отношений там есть, так что ...
почему sequelize выдает мне эту ошибку с postgresql, когда sqlite работает нормально?Различаются ли таблицы автоматических отношений для каждой БД?Нужно ли иметь отдельный репозиторий для каждой БД, которую я тестирую?