/ / Come eseguire il escape dei caratteri del colon in sequelize quando si utilizza query raw con parametri - sequelize.js

Come sfuggire i caratteri del colon in sequelize quando si utilizza query raw con parametri - sequelize.js

Sono nuovo nel mondo del sequelize. Diciamo che ho bisogno di eseguire una query (su postgres) come questa:

select to_char(column1, "HH:MM:SS") from table1 where param1 = :param

Usando sequelize devo configurare la query raw come questa:

db.sequelize.query(query, { replacements: { param: "whatever" }, type: db.sequelize.QueryTypes.SELECT }).then((list) => { ... });

Sto avendo problemi perché il carattere dei due punti appare nella stringa di query, sequelize sembra interpretare quei due punti per le sostituzioni.

C'è qualche sintassi speciale che devo usare, in modo che sequelize analizzi correttamente la stringa to_char(column1, "HH:MM:SS")?

risposte:

0 per risposta № 1

Spero di non essere in ritardo, ma ho riscontrato lo stesso problema e quello che ho fatto è stato inserire il formato di stringa nella sostituzione. Utilizzando il tuo esempio, sarà come:

select to_char(column1, :format) from table1 where param1 = :param

E la parte Sequelize:

db.sequelize.query(query, { replacements: { param: "whatever", format: "HH:MM:SS" }, type: db.sequelize.QueryTypes.SELECT }).then((list) => { ... });

Non riuscivo a trovare il modo "ufficiale" per farlo, quindi questo è come un piccolo metodo di rotatoria.