chore: add db debug support
This commit is contained in:
parent
0076a3bed7
commit
f9ea835dac
@ -1,3 +1,29 @@
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
import { logger } from '../utils/logger';
|
||||
import { env } from '../utils/env';
|
||||
|
||||
export const prisma = new PrismaClient();
|
||||
const debugEvent = {
|
||||
emit: 'event',
|
||||
level: 'query',
|
||||
} as const;
|
||||
|
||||
const log = env.dbDebug ? [debugEvent] : [];
|
||||
|
||||
export const prisma = new PrismaClient({
|
||||
log,
|
||||
});
|
||||
|
||||
if (env.dbDebug) {
|
||||
prisma.$on('query', async (e) => {
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
// console.log(`${e.query} ${e.params}`);
|
||||
|
||||
const params = JSON.parse(e.params);
|
||||
logger.info(
|
||||
e.query.replace(/\$(\d+)/g, (_, index) => {
|
||||
return "'" + params[Number(index) - 1] + "'";
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
|
@ -4,7 +4,8 @@ export const env = {
|
||||
websiteId: process.env.WEBSITE_ID,
|
||||
sandboxMemoryLimit: process.env.SANDBOX_MEMORY_LIMIT
|
||||
? Number(process.env.SANDBOX_MEMORY_LIMIT)
|
||||
: 16, // MB
|
||||
: 16, // unit: MB
|
||||
dbDebug: checkEnvTrusty(process.env.DB_DEBUG),
|
||||
};
|
||||
|
||||
export function checkEnvTrusty(env: string | undefined): boolean {
|
||||
|
Loading…
Reference in New Issue
Block a user