diff options
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"); |