start project
This commit is contained in:
commit
0703810fa3
62 changed files with 12665 additions and 0 deletions
76
src/database/data-source.ts
Normal file
76
src/database/data-source.ts
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
import "dotenv/config";
|
||||
import "reflect-metadata";
|
||||
import { DataSource, LogLevel, LogMessage } from "typeorm";
|
||||
import { Logger } from "typeorm";
|
||||
import { QueryRunner } from "typeorm/browser";
|
||||
import { RequestWithUser } from "../middlewares/user";
|
||||
import { addLogSequence } from "../interfaces/utils";
|
||||
|
||||
export class MyCustomLogger implements Logger {
|
||||
log(
|
||||
level: "log" | "info" | "warn",
|
||||
message: any,
|
||||
queryRunner?: QueryRunner
|
||||
) {}
|
||||
|
||||
logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner): void {
|
||||
const req = queryRunner?.data as RequestWithUser;
|
||||
if (req?.app?.locals.logData?.sequence) {
|
||||
addLogSequence(req, {
|
||||
action: "database",
|
||||
status: "success",
|
||||
description: "Query Data.",
|
||||
query: [
|
||||
"Query: " +
|
||||
query +
|
||||
(parameters ? " - Parameters:" + JSON.stringify(parameters) : ""),
|
||||
],
|
||||
});
|
||||
}
|
||||
|
||||
// const req = queryRunner?.data as RequestWithUser | undefined;
|
||||
// const logData = req?.app?.locals.logData?.sequence?.at(-1);
|
||||
|
||||
// if (logData && !logData.query) logData.query = [];
|
||||
// if (logData) logData.query.push(
|
||||
// "Query: " + query + (parameters ? (" - Parameters:" + JSON.stringify(parameters)) : '')
|
||||
// );
|
||||
}
|
||||
|
||||
logMigration(message: string, queryRunner?: QueryRunner) {}
|
||||
logQueryError(
|
||||
error: string | Error,
|
||||
query: string,
|
||||
parameters?: any[],
|
||||
queryRunner?: QueryRunner
|
||||
) {}
|
||||
logQuerySlow(
|
||||
time: number,
|
||||
query: string,
|
||||
parameters?: any[],
|
||||
queryRunner?: QueryRunner
|
||||
) {}
|
||||
logSchemaBuild(message: string, queryRunner?: QueryRunner) {}
|
||||
}
|
||||
|
||||
export const AppDataSource = new DataSource({
|
||||
type: "mysql",
|
||||
database: process.env.DB_NAME,
|
||||
host: process.env.DB_HOST,
|
||||
port: +(process.env.DB_PORT || 3306),
|
||||
username: process.env.DB_USERNAME,
|
||||
password: process.env.DB_PASSWORD,
|
||||
connectorPackage: "mysql2",
|
||||
synchronize: false,
|
||||
logging: ["query", "error"],
|
||||
entities:
|
||||
process.env.NODE_ENV !== "production"
|
||||
? ["src/entities/*.ts"]
|
||||
: ["dist/entities/*{.ts,.js}"],
|
||||
migrations:
|
||||
process.env.NODE_ENV !== "production"
|
||||
? ["src/migration/**/*.ts"]
|
||||
: ["dist/migration/**/*{.ts,.js}"],
|
||||
subscribers: [],
|
||||
logger: new MyCustomLogger(),
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue