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

유영기님의 프로필 이미지

작성한 질문수

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

typeorm entity(자동 생성하는 법)

일반적인 ORM 사용패턴(DDL, DML) 문의

23.03.28 09:43 작성

·

724

·

수정됨

0

수업에서는 기존 DB라 typeorm-model-generator를 사용했는데요,

저의 질문의 요점은 ORM으로 DML 위주의 사용이 보편적인가 하는 것입니다.

제가 python하다가 node.js로 넘어와서, python 예를 들어 죄송합니다만,

https://velog.io/@youngkiu/SQLAlchemy-with-DDL

python에서는 model도 create table sql로 만들지 않고, model을 생성하고, ORM에서 DDL 처리도 같이 해주었습니다.

스프링에서도 DDL은 ORM을 사용하지 않고, DB에서 직접 처리한다는 이야기를 듣기도 하여,

업계에서 ORM의 일반적인 사용방법이 궁금하여 질문드립니다.

늘 많이 배우고 있습니다. 감사합니다.

타입스크립트 책 얼릉 출간해 주세요. 바로 구매하겠습니다.

답변 2

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2023. 03. 28. 10:19

orm에서는 대부분 ddl을 지원합니다. 스프링 jpa에서도 ddl-auto 옵션이 있어서 typeorm의 synchronize같은 기능을 똑같이 할 수 있습니다. orm을 쓸거면 아예 ddl용 sql을 쓰지않고 초기 sync나 마이그레이션으로 하는 게 좋다고 생각됩니다.

0

유영기님의 프로필 이미지
유영기
질문자

2023. 03. 30. 08:22

relationship 활용에 따라 query 코드가 달라질 것 같아요.

https://velog.io/@youngkiu/SQLAlchemy%EC%97%90%EC%84%9C-relationship-%EC%82%AC%EC%9A%A9-%EC%B0%A8%EC%9D%B4
(python 코드라 죄송)

첫번째 그림에서 왼쪽/오른쪽 중에 어떻게 작성하는 것이 좀 더 일반적일까요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2023. 03. 30. 09:30

둘이 사용 목적이 다른거 이닌가요?? 둘 다 써야할 것 같은데요. select로 컬럼 수를 줄이는 것도 데이터 줄이기 위해서 필요하고요.