我不相信
sequelize.js
具有读取数据库消息(如您正在引发的警告消息)的任何功能。
不过,我看了一下
node-postgres
(其中
sequelize
作为PostgreSQL的后端),它似乎有
.on('notice',...)
上的事件
Client
对象(Sequelize用于postgres连接)。我想当
RAISE WARNING
在连接上执行。
添加
.on('notice', ...)
中的处理程序
afterConnect
Sequelize hook将实现您能够记录
提出警告
消息;我已经对下面的代码片段执行了测试,它可以工作:
sequelize.addHook('afterConnect', (client) => {
// "client" is a node-postgres Client instance when using the postgres dialect
client.on('notice', (notice) => {
// Filter to (for example) only log "RAISE WARNING" level messages
if (notice.severity === 'WARNING') {
console.log(`Received notice with severity ${notice.severity}: ${notice.message}`);
}
});
});
这个
client
论证
后连接
是一个
节点后缀
顾客
PostgreSQL方言中的实例;请参阅
https://node-postgres.com/api/client#client-on-39-notice-39-notice-string-gt-void-gt-void
用于文档。但是,看起来doco是错误的,因为我的测试显示
.on('notice', (arg) => {...})
,
arg
作为对象传递,其中文档建议
string
.