summaryrefslogtreecommitdiff
path: root/src/db/db.ts
diff options
context:
space:
mode:
authorJustZvan <justzvan@justzvan.xyz>2026-02-06 12:16:40 +0100
committerJustZvan <justzvan@justzvan.xyz>2026-02-06 12:16:40 +0100
commite904e9634548e47d611bdcbb88d7b180b927fd5f (patch)
tree21aa5be08fc5b22585508c0263ee5ea4effcc593 /src/db/db.ts
feat: initial commit!
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");