I am using Sequelize 6.21.3 to access a MariaDB 10.8 database. In that database i have a Users table that contains a password column which is encoded with the SQL function ENCODE.
Now I’d like to update a user’s password via sequelize. I do the following:
user.update({
password: sequelize.fn(
"encode",
password,
"ENCODE_PASSWORD"
)
});
However if the password contains a $ sign (like in "123$foo"
), the update query results in an error:
Named bind parameter "$foo" has no value in the given object.
I understand that sequelize tries to fill the value of the $foo
parameter, however $foo
is not supposed to be a parameter, it is just a literal string.
How do I avoid this behavior?