2024-09-01 19:22:00 +00:00
|
|
|
import { drizzle } from 'drizzle-orm/node-postgres'
|
|
|
|
|
import pg from 'pg'
|
2024-09-07 00:35:16 +00:00
|
|
|
import { config } from '../common/config'
|
2024-09-01 19:22:00 +00:00
|
|
|
import * as schema from '../databases/tables'
|
2024-07-25 00:39:03 +00:00
|
|
|
|
|
|
|
|
// create the connection
|
|
|
|
|
export const pool = new pg.Pool({
|
|
|
|
|
user: config.DATABASE_USER,
|
|
|
|
|
password: config.DATABASE_PASSWORD,
|
|
|
|
|
host: config.DATABASE_HOST,
|
|
|
|
|
port: Number(config.DATABASE_PORT).valueOf(),
|
|
|
|
|
database: config.DATABASE_DB,
|
|
|
|
|
ssl: config.DATABASE_HOST !== 'localhost',
|
|
|
|
|
max: config.DB_MIGRATING || config.DB_SEEDING ? 1 : undefined,
|
2024-09-01 19:22:00 +00:00
|
|
|
})
|
2024-07-25 00:39:03 +00:00
|
|
|
|
|
|
|
|
export const db = drizzle(pool, {
|
|
|
|
|
schema,
|
|
|
|
|
logger: config.NODE_ENV === 'development',
|
2024-09-01 19:22:00 +00:00
|
|
|
})
|
2024-07-25 00:39:03 +00:00
|
|
|
|
2024-09-01 19:22:00 +00:00
|
|
|
export type db = typeof db
|