inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Column Annotation들 탐구하기

TypeORM @PrimaryGeneratedColumn 관련 질문

835

Intuitioner

작성한 질문수 5

0

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

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

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

javascript typescript rest-api nestjs backend

답변 1

1

TG K

@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를 사용하면 됩니다.

0

코드팩토리

답변 감사합니다!

cascade 질문

0

41

1

@types/bcrypt 설치과정이 누락된것같습니다.

0

49

1

process.env port key 에러

0

48

1

추상화

0

51

1

[공유] DTO optional 필드가 undefined로 잡혀 TypeORM 조건이 깨지는 현상

0

102

2

where 키워드가 들어가는 메서드와 아닌 메서드

0

57

1

BearerTokenGuard에서 db를 조회해서 유저 정보를 불러오는 이유?

0

72

1

app.controller app.service 는 지워도되나요?

0

70

1

@JoinColumn을 쓰는 경우와 안쓰는 경우의 차이

0

80

1

포트 3000에서 listen하는 곳까지 넘어가지 않습니다.

0

68

1

PickType 사용 시 `as const`를 꼭 사용해야 하나요?

0

103

2

socket connect 오류

0

98

2

강의를 들으면서 궁금한 점

0

98

2

DELETE 요청의 반환값은 어떤 기준으로 결정하는 게 좋을까요?

0

60

2

커리큘럼 질문

0

100

2

put 요청은 언제

0

90

3

typeorm VS prisma

0

351

2

142 강의 > 4:00 > 포스트멘 활용 관련 질문 드립니다.

0

78

2

User 데코레이터 버그 수정 전달드립니다.

0

68

1

git 주소 부탁드립니다.

0

113

2

nest g resource 명령어 에러

0

99

2

로그인 엔드포인트 관련 질문

0

85

2

yarn으로 express 다운 후 node 2_server.js 실행 안되는 경우

0

149

3

"흔히 사용되는 메서드" 강의 관련 질문입니다~

0

95

2