import { drizzle } from 'drizzle-orm/postgres-js';
import postgres from 'postgres';
import * as schema from './schema';
import dotenv from "dotenv";
dotenv.config();

// Drizzle client and SQL instance
export const sql = postgres({
  host: process.env.DB_HOST!,
  port: process.env.DB_PORT ? parseInt(process.env.DB_PORT) : 5432,
  user: process.env.DB_USER!,
  password: process.env.DB_PASS!,
  database: process.env.DB_NAME!,
  max: 8,
  // Add SSL configuration if needed
  ssl: process.env.DB_SSL === 'true' ? { rejectUnauthorized: false } : undefined,
  // Add connection timeout
  connect_timeout: 10,
  // Add idle timeout
  idle_timeout: 20,
});

export const db = drizzle(sql, { schema });
