Files
image-apiv2/db.ts
Beyhan Oğur 71eff2d979 first commit
2026-04-26 22:09:32 +03:00

28 lines
928 B
TypeScript

import { drizzle } from "drizzle-orm/node-postgres";
import { Pool } from "pg";
import * as dotenv from "dotenv";
dotenv.config();
// Create pool - DATABASE_URL check will happen at runtime when pool is actually used
// During build time, this won't fail even if DATABASE_URL is not set
const pool = new Pool({
connectionString: process.env.DATABASE_URL || "postgresql://localhost:5432/temp",
max: 20,
idleTimeoutMillis: 30000,
connectionTimeoutMillis: 10000,
ssl: process.env.DATABASE_SSL === "true" ? { rejectUnauthorized: false } : false,
});
// Test connection on startup
pool.on("error", (err) => {
console.error("Unexpected error on idle client", err);
});
// Validate DATABASE_URL at runtime (not during build)
if (process.env.NODE_ENV === "production" && !process.env.DATABASE_URL) {
console.warn("WARNING: DATABASE_URL is not set. Database operations will fail.");
}
export const db = drizzle(pool);