typeorm

· TypeORM
NestJS 프로젝트에서 생성한 entity와 db에 실제로 생성되어 있는 table의 sync를 맞추고 싶었다. synchronize 옵션을 주면 된다고 하지만, 이건 데이터 소실의 위험이 있다고 하여, migration파일을 통해 목적을 이루고자 하였다. 아래 내용은 typeorm 공식문서를 참고하였다. 방법 1 - migration 파일 처음부터 모두 작성하기 아래 명령어를 통해, 비어 있는 migration 파일을 생성 할 수 있다. typeorm migration:create -n 생성할migration파일명 방법 2 - migration 파일 자동 생성 후, 차이 있는 부분 파악하여 수정하기 아래 명령어를 통해, 현재 entity 파일들과 db의 테이블을 비교하여 차이점을 수정하는 migrat..
· TypeORM
TypeORM이 무엇이고, 왜 필요한지, 그리고 어떻게 사용할 수 있는지에 대해 알아보자. ORM??? ORM(Object Relational Mapping)은 말 그대로 Object와 관계형 데이터베이스의 데이터를 맵핑해주는 것을 의미한다. 일반적으로 OOP는 Object를 사용하고, RDB는 table을 사용한다. 이렇게 OOP의 모델과 RDB의 모델간에 불일치가 존재하고, ORM은 객체간의 관계를 바탕으로 SQL을 생성하여 불일치를 해결한다. 즉, 객체를 통해 간접적으로 데이터베이스의 데이터를 다룰 수 있게 된다. Why People use ORM? ORM을 사용함으로써 얻을 수 있는 이득은 아래와 같다. 객체지향적인 코드로 인해 더 직관적이고 비지니스 로직에 집중 할 수 있게 된다. SQL Que..
· NestJS
Client에 배포를 할 때, 클라이언트 측 DB에 Admin계정이 존재하는지 확인하고, 만약 없다면 해당 DB에 정해진 계정을 넣어줘야 하는 일이 생겼다. 어떻게 이러한 문제를 TypeORM의 migration으로 해결 할 수 있는지 정리해보자. 개발 환경 우선 현재 NodeJS기반에서 NestJS 프레임워크, DB는 Mysql, TypeORM을 사용하고 있으며, Docker를 이용하고 있다. DB는 docker로 띄우지 않고, 폐쇄망에 따로 마련된 DB를 이용하고 있다. (참고로, Front, Backend 두개의 컨테이너를 띄우고 있다.) Migration? 우선 migration이 무엇인지에 대해 간략히 정리하고 넘어가자. NestJS의 공식문서에 따르면, Migrations은 기존 데이터베이스에..
NestJS에서 DB조회를 하기 위해 자주 쓰이는 createQueryBuilder, 그리고 그 이후 연결되는 chained method들을 mocking하는 방법에 대해 정리해보고자 한다. 테스트 대상 오늘 테스트 대상은 아래와 같다. mrlogRepository 라는 곳에서 데이터를 원하는 형식으로 뽑아오는 간단한 메소드이다. 해당 메소드를 만들 때에는 딱히 어려움이 없었지만, 테스트 코드를 만들 때 꽤나 골치가 아팠다. export class MrLogService { constructor( @InjectRepository(MRLog) private mrlogRepository: Repository, ) {} async dashboardMrLog(): Promise { const [latest2H,..
· TypeORM
최근 회사 프로젝트의 대시보드에 그래프를 출력하려다 보니, 여러 테이블들을 조인해서 들고와야 할 데이터가 생겨 쿼리를 짰다. 하지만, typeorm에서 .query메소드로 쿼리문을 적으니, 가독성이 너무 좋지 않아, createQueryBuilder메소드를 사용하기로 헀다. 그러다 체크한 entity들... 관계설정이 제대로 하나도 되어 있지 않았다. typeORM을 이용하여 테이블간 관계 설정을 어떻게 할 수 있는지 알아보자.(feat. NestJS) typeORM 공식홈페이지를 참조 하였다. One-to-one relations 1대 1관계는 A가 B의 인스턴스 하나만 포함하고, B 역시 A의 인스턴스 하나만을 포함하는 관계를 말한다. User 와 Profile 이라는 엔터티가 있다고 가정해보자. 각..
moyanglee
'typeorm' 태그의 글 목록