import "dotenv/config"; import { drizzle } from "drizzle-orm/node-postgres"; import { Pool } from "pg"; import * as schema from "./schema"; import serverConfig from "@lifetracker/shared/config"; const pool = new Pool({ connectionString: serverConfig.databaseUrl, }); export const db = drizzle(pool, { schema, logger: false, }); export function getConnectionDetails() { const sourceDb = serverConfig.databaseUrl const sourceDbUrl = new URL(sourceDb) return { port: parseInt(sourceDbUrl.port), host: sourceDbUrl.hostname, database: sourceDbUrl.pathname.slice(1), username: sourceDbUrl.username, password: sourceDbUrl.password } } // Testing utility export async function getTestDB() { const testPool = new Pool({ connectionString: serverConfig.testDatabaseUrl, }); return drizzle(testPool, { schema }); }