24 lines
597 B
TypeScript
24 lines
597 B
TypeScript
import { drizzle } from 'drizzle-orm/node-postgres';
|
|
import { Pool } from 'pg';
|
|
import { loadConfig } from '@/config/loader';
|
|
|
|
const config = loadConfig();
|
|
|
|
// 创建连接池
|
|
const pool = new Pool({
|
|
host: config.db.host,
|
|
port: config.db.port,
|
|
user: config.db.user,
|
|
password: config.db.password,
|
|
database: config.db.dbname,
|
|
ssl: config.db.ssl_mode ?? false,
|
|
max: 10, // 最大连接数,默认 10
|
|
idleTimeoutMillis: 30000, // 连接空闲多久后释放
|
|
connectionTimeoutMillis: 2000, // 连接超时
|
|
});
|
|
|
|
// 使用 drizzle 绑定 pool
|
|
const db = drizzle(pool);
|
|
|
|
export { db };
|