我刚刚将本地应用程序设置为记录Prisma的查询(log: ['query']
),但我需要查看它在调试应用程序时使用的值,目前还没有这样做,我的查询被打印如下:
FROM "public"."potato" WHERE "public"."potato"."id" IN ($1) OFFSET $2
我有两个问题:
如何打印被这些placeholders?
注意:这并不重要,也不重要,但我正在使用postgres。
发布于 2022-09-08 20:42:37
像这样,您可以使用文档中提到的代码获得传入参数。
prisma.$on('query', (e) => {
console.log('Query: ' + e.query)
console.log('Params: ' + e.params)
console.log('Duration: ' + e.duration + 'ms')
})
占位符用于参数。有关参数化查询的好处,请参见这里的https://stackoverflow.com/a/7505842/9530790。
发布于 2022-11-25 13:44:35
Prisma文档没有很好地涵盖类的情况。在我们的堆栈(NestJS + Prisma)中,我们使用一个类,它在幕后实例化。对于日志记录,我们必须重写构造函数:
@Injectable()
export class PrismaService extends PrismaClient implements OnModuleInit {
constructor() {
super({
log: ['query', 'info', 'warn', 'error'],
})
}
}
https://stackoverflow.com/questions/73654056
复制相似问题