Необработанный запрос по маршруту express.js с использованием sequelize

Я очень новичок в использовании sequelize. Я запускаю проект node.js, созданный с использованием sequelize cli, и пытаюсь выполнить необработанный запрос, как показано ниже, в экспресс-маршруте "put" моего приложения, но продолжаю получать ошибки:

Sequelize.query не является функцией

Запрос, который я пытаюсь выполнить,

UPDATE package_values pk INNER JOIN packages p ON pk.package_id = p.id SET pk.value = true WHERE pk.feature_id = 2 AND (p.based_on = 2 OR pk.package_id = 2)

Любая помощь будет высоко цениться о том, как я могу заставить этот запрос работать с моим проектом.

Благодарю.

1 ответ

Решение

Вы должны позвонить query функция на примере Sequelize как это:

var sequelize = new Sequelize("logiqua", "root", "", {
  host: "localhost",
  dialect: "mysql",
  logging: function () { },
  pool: {
    max: 5,
    min: 0,
    idle: 10000
  },

});

// raw query

sequelize.query("UPDATE package_values pk INNER JOIN packages p ON pk.package_id = p.id SET pk.value = true WHERE pk.feature_id = 2 AND (p.based_on = 2 OR pk.package_id = 2)",
 { type: sequelizeLogista.QueryTypes.UPDATE }).then(()=>{
    console.log("done")
 });
Другие вопросы по тегам