gpt4 book ai didi

sequelize.js - 在全局钩子(Hook)中识别 Sequelize 模型

转载 作者:行者123 更新时间:2023-12-03 22:16:54 24 4
gpt4 key购买 nike

我希望通过全局 Hook 向我的所有 Sequelize 操作添加一些低级日志记录。像这样:


db.addHook('beforeUpdate', (instance, options) => {
log.info({ instance, options }, `更新 ${modelName} ${instance.get('id')}`);
});

我还没有弄清楚如何填充 modelName 甚至是否可能(尽管我发现的信息不足表明这可能是不可能的)。有没有可能这是可能的,而我只是没有找到 key ?

根据记录,这是实例值:


实例: {
“id”:空,
"nonIncarcerationAgreementIndicator": true,
“保险申请编号”:22,
“更新时间”:“2018-06-13T13:55:10.978Z”,
“创建于”:“2018-06-13T13:55:10.978Z”
}

选项 太长而无法列出,但它们在任何地方都没有提到模型名称。

最佳答案

您使用的是哪个版本的 sequelize?对于 v4,这有效

const Sequelize = require('sequelize');
const sequelize = new Sequelize('test_db', 'postgres', 'postgres', {
host: '127.0.0.1',
dialect: 'postgres',
define: {
hooks: {
beforeCreate: (model, options) => {
console.log(model.constructor.name);
}
}
}
});
const User = sequelize.define('user', {
username: Sequelize.STRING,
});

User.create({
username: 'UserOne',
projects: {
projectName: 'projectOne'
}
}).then((user) => {
console.log(user);
})

关于sequelize.js - 在全局钩子(Hook)中识别 Sequelize 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50837222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com