inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

typeorm One-to-one 관계설정

769

노른자

작성한 질문수 81

0

제로초님 유저개인정보를 담고있는 User Entity와 그외 기타정보를 담고있는 Profile Entity

를 One - to - One 관계로 연결시켜주고자하는데

/user.entity.ts
 
@OneToOne(() => Profile, (profile) => profile.User, {
cascade: true,
})
@JoinColumn()
Profile: Profile;

유저 엔티티를 이렇게 하고,

/profile.entity.ts
 
@OneToOne(() => User, (user) => user.Profile)
User: User;

프로파일 엔티티를 이렇게 설정해줬는데,

유저를 생성할때 Profile이 같이 자동생성이 되지않습니다.

혹시나해서 profile에도 cascade:true를 넣어봤는데, 디비 오류가 나네요.

 

OneToOne관계에서 유저를 생성할때 자동으로 profile이 생성되게할려면 어떻게 해야하나요?

 

express nodejs TypeORM NestJS

답변 1

0

제로초(조현영)

@Column('int', { name: 'ProfileId', nullable: true, comment: '프로필아이디' })
ProfileId: number | null;

@OneToOne(() => Profile, (profile) => profile.User)
@JoinColumn([{ name: 'ProfileId', referencedColumnName: 'id' }])
Profile: Profile;

이런 식으로 명시적으로 ID까지 같이 선언해주시면 좋습니다.

0

노른자

흠.. ProfileId를 명시적으로 추가하니 이러한 중복에러가 뜹니다.

 

[Nest] 34165  - 02/15/2022, 7:54:56 PM   ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)...

QueryFailedError: Duplicate column name 'ProfileId'

0

제로초(조현영)

테이블에 ProfileId 컬럼이 만들어졌나요? 만들어졌다면 @Column() ProfileId는 빼보세요.

0

노른자

아 넵 컬럼에 profileId가 잘 생성은 됩니다.

제가 원하는건 User을 생성하면 자동으로 프로필도 생성되서 해당 유저로우에 ProfileId로 할당되는것입니다,

그 방법을 모르겠습니다.

0

노른자

const newUser = await this.usersRepository.save(
this.usersRepository.create({
snsId,
provider,
Profile: new Profile(),
}),
);

이런식으로 처리해주니까 원했던대로 되네요!

강의자료는 어디서 다운받나요?

0

141

4

질문 있습니다.

0

315

3

코드 편집기 확장 프로그램

0

220

2

(질문)비밀 저장소에 접근하기 위한 인증 정보는 로컬 .env에 저장하는지?

0

161

2

(질문)외부 저장소를 통한 환경변수 불러오기 비동기 질문

0

177

3

로그인을 해도 LoggedInGuard쪽에서 false값이 나옵니다.

0

161

2

로그인방법이 고민됩니다.

0

197

2

yarn seed 명령어 실행 시 데이터 삽입 안됨

0

304

4

yarn run db:create 시에 발생하는 데코레이터 오류

0

247

2

npm run db:create 시에 발생하는 decorating 오류

0

245

2

RxJS 디버깅 질문 있습니다.

0

198

3

CacheManager에 대해 질문 있습니다.

0

184

2

로깅은 어떻게 하는게 효율적일까요?

0

236

1

CORS 질문 있습니다.

0

425

2

쿠키 옵션에 대해서 질문 있습니다.

0

188

2

로그아웃 요청이 403 forbidden 에러가 나는데 왜그런걸까요??

0

458

1

401 unauthorized문제

0

304

1

가드의 장점에 대해서 질문이 있습니다.

0

231

1

로그 관리에 대해 질문 있습니다.

0

254

2

CORS 에러 질문 있습니다.

0

328

2

배포 환경 DB 연결 질문 있습니다.

0

417

2

socket io 미 연결 문제 (nest & flutter)

1

1166

3

no elements in sequence 에러 관해서 질문이 있습니다.

0

462

1

start:dev-backup으로 돌리면 핫 리로딩이 되요 정상인가요?

0

323

1