1. 설치

$ npm install --save @nestjs/typeorm typeorm pg

2. 설정

// app.modle.ts
@Module({
  imports: [
    TypeOrmModule.forRoot({
      type: 'postgres',
      host: 'localhost',
      port: 5432,
      username: 'root',
      password: 'root',
      database: 'test',
      entities: [],
    }),
  ],
})
export class AppModule {}

3. 엔티티 생성

TypeORM은 저장소 디자인 패턴을 지원하므로 각 항목에 자체 저장소가 있음

이러한 저장소는 데이터베이스에 연결해서 얻을 수 있음

// user.entity.ts
@Entity()
export class User {
  @PrimaryGeneratedColumn()
  id: number;

  @Column()
  firstName: string;

  @Column()
  lastName: string;

  @Column({ default: true })
  isActive: boolean;
}

4. 엔티티 연결

이제 User 엔티티를 사용하려면 forRoot()메소드 옵션의 entities 배열에 삽입하여 TypeORM에 알려야함

// app.module.ts
@Module({
  imports: [
    TypeOrmModule.forRoot({
      type: 'postgres',
      host: 'localhost',
      port: 5432,
      username: 'root',
      password: 'root',
      database: 'test',
      entities: [User], // 'dist/**/*.entity{.ts,.js}' 도 가능
    }),
  ],
})
export class AppModule {}