Files
gridpilot.gg/apps/api/src/domain/database/DatabaseModule.ts
Marc Mintel f06a00da1b
Some checks failed
CI / lint-typecheck (push) Failing after 1m15s
CI / tests (push) Has been skipped
CI / contract-tests (push) Has been skipped
CI / e2e-tests (push) Has been skipped
CI / comment-pr (push) Has been skipped
CI / commit-types (push) Has been skipped
api tests
2026-01-25 18:26:44 +01:00

26 lines
891 B
TypeScript

import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
@Module({
imports: [
TypeOrmModule.forRoot({
type: process.env.NODE_ENV === 'test' ? 'sqlite' : 'postgres',
...(process.env.NODE_ENV === 'test'
? { database: ':memory:' }
: process.env.DATABASE_URL
? { url: process.env.DATABASE_URL }
: {
host: process.env.DATABASE_HOST || 'localhost',
port: parseInt(process.env.DATABASE_PORT || '5432', 10),
username: process.env.DATABASE_USER || 'user',
password: process.env.DATABASE_PASSWORD || 'password',
database: process.env.DATABASE_NAME || 'gridpilot',
}),
autoLoadEntities: true,
synchronize: process.env.NODE_ENV !== 'production',
}),
],
exports: [TypeOrmModule],
})
export class DatabaseModule {}