summaryrefslogtreecommitdiff
path: root/src/db/db.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/db/db.ts')
-rw-r--r--src/db/db.ts21
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");