From e904e9634548e47d611bdcbb88d7b180b927fd5f Mon Sep 17 00:00:00 2001 From: JustZvan Date: Fri, 6 Feb 2026 12:16:40 +0100 Subject: feat: initial commit! --- src/db/db.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/db/db.ts (limited to 'src/db/db.ts') diff --git a/src/db/db.ts b/src/db/db.ts new file mode 100644 index 0000000..c5cd07c --- /dev/null +++ b/src/db/db.ts @@ -0,0 +1,21 @@ +import { drizzle } from "drizzle-orm/node-postgres"; + +import * as schema from "./schema"; +import { logger } from "../lib/pino"; +import { redisCache } from "./redis/cache"; +import { redis } from "./redis/client"; + +logger.info("Initializing database connection..."); + +/** Main database instance with Redis caching and query logging */ +export const db = drizzle(process.env.DATABASE_URL!, { + schema, + cache: redisCache({ global: true, defaultTtl: 120, redis }), + logger: { + logQuery: (query, params) => { + logger.debug({ query, params }, "Database query executed"); + }, + }, +}); + +logger.info("Database connection initialized"); -- cgit v1.2.3