Pachetul @nestjs/typeorm este cel mai utilizat strat de persistență relațională pentru NestJS, integrând nativ biblioteca TypeORM în containerul IoC.
Arhitectura presupune doi pași:
TypeOrmModule.forRootAsync(): Înregistrează conexiunea globală la baza de date înAppModule, citind credențialele dinConfigService.TypeOrmModule.forFeature([Entitate]): Înregistrează entitățile particulare în modulele specifice, permițând injectarea repository-urilor dedicate.
Exemplu: Configurare TypeOrmModule asincron cu PostgreSQL
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { ConfigModule, ConfigService } from '@nestjs/config';
@Module({
imports: [
TypeOrmModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (config: ConfigService) => ({
type: 'postgres',
host: config.get('DB_HOST', 'localhost'),
port: config.get('DB_PORT', 5432),
username: config.get('DB_USER', 'postgres'),
password: config.get('DB_PASS', 'secret'),
database: config.get('DB_NAME', 'app_db'),
autoLoadEntities: true,
synchronize: false, // Strict interzis în producție! Folosiți migrări!
}),
}),
],
})
export class AppModule {}
Întrebări & Exemple de Cod:
TypeOrmModule (forRoot și forFeature) în NestJSAi o nelămurire despre utilizarea comenzii
TypeOrmModule (forRoot și forFeature) în NestJSsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.