본문 바로가기
NestJS

TypeORM - Entity로 테이블 생성하기

by Programmer.Junny 2025. 2. 24.

원래는 SQL 문법으로 테이블을 생성해야하지만, NestJS에 TypeORM을 설치했으므로 프로젝트 내에서 생성할 수 있다.

이러한 테이블을 Entity 라고 명칭한다. 

따로 테이블이라 명칭하지 않는 이유는 테이블을 모델 데이터로 파싱하였고 이 모델을 명칭하는 것이기 때문이다.

우선 src에 원하는 곳에 entities 폴더를 만들고 그 안에 생성할 Entity 를 작성할 파일을 만든다.

import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';

@Entity()
export class PostsModel {
  @PrimaryGeneratedColumn()
  id: number;

  @Column()
  author: string;

  @Column()
  title: string;

  @Column()
  content: string;

  @Column()
  likeCount: number;

  @Column()
  commentCount: number;
}

Entity는 위와 같이 작성한다.

참고로 @PrimaryColumn 혹은 @PrimaryGeneratedColumn은 반드시 포함되어야 한다.

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { PostsModule } from './posts/posts.module';
import { TypeOrmModule } from '@nestjs/typeorm';
import { PostsModel } from './posts/entities/posts.entity';

@Module({
  imports: [
    PostsModule,
    TypeOrmModule.forRoot({
      type: 'postgres',
      host: '127.0.0.1',
      port: 5432,
      username: 'postgres',
      password: 'postgres',
      database: 'postgres',
      entities: [PostsModel],
      synchronize: true, //프로덕션 환경에선 false해야함
    }),
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}
      entities: [PostsModel],

마지막으로 app.module.tsentities 부분에 해당 Entity를 넣어준다.

그리고 서버를 실행하고 Postgres 툴을 Refresh 하면 위와 같이 posts_model이라는 테이블이 생성된 것을 볼 수 있다.

'NestJS' 카테고리의 다른 글

TypeORM - Entity Column 탐구  (0) 2025.02.24
TypeORM - Repository 주입하기  (0) 2025.02.24
TypeORM - NestJS에 설정하기  (0) 2025.02.24
VCS에서 PostgreSQL 툴 사용하기  (0) 2025.02.24
Docker Compose 사용 및 Postgres 설치  (0) 2025.02.24

최근댓글

최근글

skin by © 2024 ttuttak