forked from PinSpace-Org/GistPin
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatabase.module.ts
More file actions
33 lines (32 loc) 路 1.16 KB
/
Copy pathdatabase.module.ts
File metadata and controls
33 lines (32 loc) 路 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { Gist } from '../gists/entities/gist.entity';
@Module({
imports: [
TypeOrmModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (config: ConfigService) => ({
type: 'postgres',
host: config.get<string>('DATABASE_HOST', 'localhost'),
port: config.get<number>('DATABASE_PORT', 5432),
username: config.get<string>('DATABASE_USER', 'gist'),
password: config.get<string>('DATABASE_PASSWORD', 'gist'),
database: config.get<string>('DATABASE_NAME', 'gist'),
entities: [Gist],
migrations: [__dirname + '/migrations/*{.ts,.js}'],
migrationsRun: false,
synchronize: false,
logging: config.get<string>('NODE_ENV') !== 'production',
extra: {
max: config.get<number>('DB_POOL_MAX', 10),
min: config.get<number>('DB_POOL_MIN', 2),
idleTimeoutMillis: 30000,
connectionTimeoutMillis: 5000,
},
}),
}),
],
})
export class DatabaseModule {}