import { drizzle } from "drizzle-orm/vercel-postgres"; import { Pool } from "pg"; // Usando Pool para manejar la conexión class DatabaseSingleton { private static instance: DatabaseSingleton; private pool: Pool; private dbConnection: ReturnType; private constructor() { this.pool = new Pool({ connectionString: process.env.DATABASE_URL, }); this.dbConnection = drizzle(this.pool as any); } public static getInstance(): DatabaseSingleton { if (!DatabaseSingleton.instance) { DatabaseSingleton.instance = new DatabaseSingleton(); } return DatabaseSingleton.instance; } public getConnection() { return this.dbConnection; } public async closeConnection() { await this.pool.end(); } } export const database = DatabaseSingleton.getInstance().getConnection();