【问题标题】:Sequelize hooks not triggering when updating records manually手动更新记录时未触发 Sequelize 挂钩
【发布时间】:2020-03-05 17:54:51
【问题描述】:

我是 sequelize 和 RDBMS 的新手, 我添加了sequelize hook如下

bills.afterBulkUpdate((instance, options) => {
  console.log(instance);
});

如果我手动更新 bills 表中的任何记录(使用 DB 脚本或查询或触发器),我在这里有疑问 这个更新会触发bills.afterBulkUpdate钩子声明吗?

【问题讨论】:

    标签: javascript node.js postgresql sequelize.js sequelize-hooks


    【解决方案1】:

    钩子(也称为回调或生命周期事件)是在执行 sequelize 调用之前和之后调用的函数。

    因此,根据您的代码,您使用的是 afterBulkCreate(name, fn) ( link ),它被标识为在批量创建实例后运行的钩子。

    它应该在触发钩子后起作用,这取决于您在代码中的声明和使用方式。

    更多关于 hooks 的详情可以查看其官方documentation

    【讨论】:

    • 我的问题是,如果使用数据库级触发器或应用程序外部的脚本更新/创建相同的表记录,是否会触发此挂钩。
    • 它会触发,但由于您的完整代码在那里不可用,所以我提到这取决于您在代码中声明和使用的方式。如果您遵循文档,那么它将起作用
    猜你喜欢
    • 2018-06-29
    • 2020-05-03
    • 2019-10-31
    • 2021-06-29
    • 2020-02-12
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多