$ npm install --save @nestjs/typeorm typeorm pg
// app.modle.ts
@Module({
imports: [
TypeOrmModule.forRoot({
type: 'postgres',
host: 'localhost',
port: 5432,
username: 'root',
password: 'root',
database: 'test',
entities: [],
}),
],
})
export class AppModule {}
TypeORM은 저장소 디자인 패턴을 지원하므로 각 항목에 자체 저장소가 있음
이러한 저장소는 데이터베이스에 연결해서 얻을 수 있음
// user.entity.ts
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
firstName: string;
@Column()
lastName: string;
@Column({ default: true })
isActive: boolean;
}
이제 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 {}