Add src/server/db/index.ts

This commit is contained in:
2026-05-02 18:03:33 -04:00
parent 57a6f4bb39
commit ab2c916fa5

29
src/server/db/index.ts Normal file
View File

@@ -0,0 +1,29 @@
import { drizzle } from 'drizzle-orm/node-postgres';
import { Pool } from 'pg';
import * as schema from './schema';
// Create a singleton pool
let pool: Pool | null = null;
export function getPool(): Pool {
if (!pool) {
const connectionString = process.env.DATABASE_URL || 'postgresql://vixtix:vixtix_secret@localhost:5433/vixtix';
pool = new Pool({
connectionString,
max: 20,
idleTimeoutMillis: 30000,
connectionTimeoutMillis: 2000,
});
}
return pool;
}
export function getDb() {
return drizzle(getPool(), { schema });
}
// Graceful shutdown
process.on('SIGINT', () => {
if (pool) pool.end();
process.exit(0);
});