TypeOrmModule (forRoot și forFeature) în NestJS în NestJS

database NestJS 10.x / TypeORM 0.3+ Q&A / Distribuie cod

Conectarea la baze de date relaționale (PostgreSQL, MySQL) prin TypeORM: configurare asincronă forRootAsync și înregistrare entități.

Sintaxă
TypeOrmModule.forRoot({ ... }) / TypeOrmModule.forFeature([User])

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 în AppModule, citind credențialele din ConfigService.
  • 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 {}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: TypeOrmModule (forRoot și forFeature) în NestJS

Ai o nelămurire despre utilizarea comenzii TypeOrmModule (forRoot și forFeature) în NestJS sau 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.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.