Knex.js изменяет дату в столбце при обновлении другого столбца

0

Я использую knex.js для работы с SQL-запросами. У меня есть таблица с выбором информации, например

{
 market_opt_in: 1
 market_opt_in_date: 2018-02-15 15:51:45
 message_opt_in: 0
 message_opt_in_date: 2018-02-15 15:51:45
 ...
}

и так далее.

Можно ли изменить дату, когда изменяется отдельный opt_in? Так было бы

{
 market_opt_in: 1
 market_opt_in_date: 2018-02-15 15:51:45
 message_opt_in: 1 // when this row updated
 message_opt_in_date: 2018-02-20 11:12:13 // date updates as well
 ...
}
Теги:
knex.js

1 ответ

0
Лучший ответ

Это проще реализовать с помощью objection.js, который построен на вершине knex и имеет крючки для изменения данных перед вставкой/обновлением.

С помощью knes, вероятно, самый простой способ поддержать это было бы написать отдельную вспомогательную функцию для обновления этой таблицы, которая всегда также устанавливает дату в вашем случае.

Другим способом было бы написать обработчик событий к событию knex.on('start',...), посмотреть внутренности построителя запросов, и если вы узнаете, что обновление message_opt_in обновлено, вы можете добавить также обновление для столбца message_opt_in_date.

В любом случае, я бы не предложил 3-й способ, так как он может сломаться, когда обновляется нокаут.

  • 0
    Спасибо Вам за информацию.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню