인프런 커뮤니티 질문&답변

Intuitioner님의 프로필 이미지

작성한 질문수

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

Column Annotation들 탐구하기

TypeORM @PrimaryGeneratedColumn 관련 질문

23.10.22 12:19 작성

·

497

0

@PrimaryGeneratedColumn() 데코레이터에 인자로 전달할 수 있는

increment와 identity에 따라서 어떤 차이가 있는지 궁금합니다.

찾아봐도 알기가 어려워서 질문드립니다.

답변 1

1

TG K님의 프로필 이미지

2023. 10. 23. 00:41

@PrimaryGeneratedColumn() 데코레이터는 TypeORM에서 사용되며, 주로 엔터티의 주요 키(primary key)를 자동 생성(auto-incrementing)하기 위해 사용됩니다. 이 데코레이터에 전달할 수 있는 전략 중 incrementidentity에 대한 차이점은 데이터베이스의 종류와 그 데이터베이스가 지원하는 자동 증가 전략에 따라 다릅니다.

  1. increment:

    • 이 전략은 대부분의 관계형 데이터베이스에서 지원하는 기본적인 자동 증가 전략입니다. 즉, 주요 키 값이 자동으로 1, 2, 3, ...과 같은 순서로 증가됩니다.

    • MySQL, PostgreSQL, SQLite 등의 데이터베이스에서 사용됩니다.

  2. identity:

    • 이 전략은 SQL Server에서 주로 사용되는 자동 증가 전략입니다. identity 전략은 SQL Server에서 열(column)에 자동으로 증가되는 숫자 값을 생성하기 위해 사용됩니다.

    • 기본적으로 increment와 유사한 방식으로 동작하지만, 내부적으로 SQL Server의 IDENTITY 속성을 사용하여 구현됩니다.

결론적으로, incrementidentity의 차이는 주로 사용되는 데이터베이스의 종류와 관련이 있습니다. SQL Server를 사용하는 경우 identity를, 그 외의 대부분의 관계형 데이터베이스에서는 increment를 사용하면 됩니다.

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

2023. 10. 23. 09:27

답변 감사합니다!