목록TypeORM (4)
영호
들어가며 이번 글에서는 @Transaction 데코레이터를 이용하여 TypeORM에서 트랜잭션을 적용하는 방법에 대해 알아보겠습니다. TypeORM에서 트랜잭션을 적용하는 방법으로는 3가지 정도가 있습니다. 1. QueryRunner 2. getConnection 3. @Transaction데코레이터 저는 그중 간단하게 사용 가는 한 3번째 방법인 @Transaction데코레이터를 이용하겠습니다. 트랜잭션에 대한 개념을 모르시는 분들은 이 글을 참고해주시면 감사하겠습니다. @Transaction 사용방법 우선 @TransactionManager가 필요하기 때문에 parameter에 해당 내용을 추가해줍니다. 이후 저희가 원하는 DB 관련 로직을 작성해주면 됩니다. 저는 퇴근 일지를 의미하는 WorkDia..
들어가며 이번 글에서는 공식문서에서 소개하는 TypeORM의 2가지 패턴 중 Active-record패턴에 대해 코드로 알아보겠습니다. Active-recode패턴 이란? 각 entity파일에서 정의한 쿼리 메소드들을 이용해 데이터베이스에 접근하는 패턴입니다. 그리고 entity파일들은 find, save등의 기본 기능을 제공해주는 BaseEntity를 상속받아야 합니다. 크기가 크지 않고, 복잡하지 않은 프로젝트에 적용하기 좋은 패턴으로, 추후 프로젝트의 규모가 커지고, 복잡해질 경우 data-mapper패턴으로의 리팩토링을 고려해야 합니다. BaseEntity는 repository의 표준 기능들을 다 가지고 있기 때문에 repository, EntityManager를 사용하지 않아도 됩니다. repo..
들어가며 TypeORM을 사용하며 entity 작성하는 방법을 알아볼 예정입니다. 포스팅에서 바탕이 되는 ERD는 팀 프로젝트를 진행하며 설계한 ERD의 일부를 사용할 예정입니다. USER(1) PARENT(1) -> 일대일 관계 USER(1) BABYSITTER(1) -> 일대일 관계 TypeORM entity관련 기본적인 데코레이션 @PrimaryGeneratedColumn 이름 그대로 PK를 생성해주는 데코레이션입니다. autoIncrement가 적용된 데코레이션입니다. @PrimaryColumn PK를 생성해주지만 autoIncrement는 지원하지 않는 데코레이션입니다. @Column 이름 그대로 column을 생성할 때 기본으로 사용되는 데코레이션입니다. 다양한 column option, ty..
[TypeORM] 공식문서 보며 TypeORM + MySQL 설정하기 개요 이번 글에서는 공식문서의 Quick start 부분을 따라 하면서 TypeORM의 초기 설정을 해보겠습니다. 순서 cli를 이용해 프로젝트 생성 data-source.ts 수정 data-source.ts대신 ormconfig.json 사용해보기 Installation $ npx typeorm init --name MyProject --database mysql 저는 MySQL을 이용해 MyProject라는 이름의 프로젝트를 생성하겠습니다.**$ typeorm init --name {프로젝트 이름} --database {DB종류}** 프로젝트 구조 ├── README.md ├── package-lock.json ├── package..