Я не могу поместить несколько экземпляров sequelize в один запрос с помощью функции findAll ()
Я хочу иметь возможность выбирать информацию, которая находится в 2 отдельных базах данных. Для этого я создал 2 экземпляра sequelize, по одному для каждой базы данных. Затем я связал свои модели с этими экземплярами.
К сожалению, если мы назовем базу A с моделью «modelA» и базу B с моделью «modelB», например. Когда я хочу выделить информацию в модели A базы A и сделать ссылку на модель B базы B в том же запросе, Sequelize сообщает мне, что таблица A.modelB не существует.
Видимо, он не может правильно поставить имена схем перед каждой моделью.
//Instantiation of 2 Sequelize with the two different base names in the 'db' object
//Link models to the good instance of Sequelize
//Set up hasOne / hasMany on models
await db.A.modelA.findAll({
include: [{
model: db.B.modelB,
as: 'modelB'
}]
});
//"SequelizeDatabaseError: Table 'A.modelB' doesn't exist"
В необработанном SQL:
SELECT * FROM `A`.`tableA` AS `tableA` INNER JOIN `B`.`tableB` AS `tableB` ON `tableA`.`id` = `tableB`.`id_table_A`;
Я ожидаю что-то вроде: A
. modelA
и B
. modelB
в операторе SQL.
Я также пытался настроить опцию «схема» на моделях, но с этой я получаю ошибку:
//"SequelizeDatabaseError: Table 'A.B.modelB' doesn't exist"