Sequelize op.like не работает корректно

Я недавно столкнулся с работой базы данных в node.

Теперь у меня проблема с запросом Sequelize.

Есть простой код. И там op.like выдает не корректный запрос sql.

В место %delay% в запросе появляетса '\"%delay%\"'.

Вот часть кода и ответ от сервера.

const Sequelize = require('sequelize');
const Op = Sequelize.Op;

const shortcodes = await Shortcode.findAll({
      where: {
           project_id: project.id,
             settings: {
                 [Op.like]: `%delay%`
             }
           }
      });

Вот сам Sql созданный данной библиотекой.

SELECT
  *
FROM
  `shortcodes` AS `shortcode`
WHERE `shortcode`.`project_id` = 1
  AND `shortcode`.`settings` LIKE '\"%delay%\"';

Ответы (1 шт):

Автор решения: Raz Galstyan

Прорыв весь интернет наткнулся на профиль github одного человека. У которого была примерно идентичная проблема.

И как я понял это ошибка самой библиотеки Sequelize.

Вот решение данной проблемы.

Может и вам пригодиться.

Уже измененный и рабочий код:

const Sequelize = require('sequelize');
const Op = Sequelize.Op;

const shortcodes = await Shortcode.findAll({
      where: {
           project_id: project.id,
             settings: {
                 [Op.like]: Sequelize.literal('\'%delay%\'')
             }
           }
      });

Вот уже корректный сгенерированный ՝sql՝ запрос.

SELECT
  *
FROM
  `shortcodes` AS `shortcode`
WHERE `shortcode`.`project_id` = 1
  AND `shortcode`.`settings` LIKE '%delay%';

А вот сам ресурс откуда все это я прочитал.

→ Ссылка