diff options
| author | JustZvan <justzvan@justzvan.xyz> | 2026-02-06 12:16:40 +0100 |
|---|---|---|
| committer | JustZvan <justzvan@justzvan.xyz> | 2026-02-06 12:16:40 +0100 |
| commit | e904e9634548e47d611bdcbb88d7b180b927fd5f (patch) | |
| tree | 21aa5be08fc5b22585508c0263ee5ea4effcc593 /src/db/db.ts | |
feat: initial commit!
Diffstat (limited to 'src/db/db.ts')
| -rw-r--r-- | src/db/db.ts | 21 |
1 files changed, 21 insertions, 0 deletions
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"); |