Sunny Gohil
Sunny Gohil

Reputation: 319

Raw query in express.js route using sequelize

I am very new to using sequelize. I am running a node.js project created using sequelize cli and trying to run a raw query as below within a "put" express route of my application but keep getting and error:

Sequelize.query is not a function

The query that i am trying to run is

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)

Any help would be much appreciated as to how I can go about getting this query to work with my project.

Thanks.

Upvotes: 0

Views: 952

Answers (1)

El houcine bougarfaoui
El houcine bougarfaoui

Reputation: 37343

You have to call query function on an instance of Sequelize like this :

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")
 });

Upvotes: 2

Related Questions