본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스
성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.
fastcampus.co.kr
0320 목
학습 내용 정리
Update 함수 Transaction 적용하기
데이터베이스 마이그레이션
pipe 소개
학습후기
1. Update 함수에 Transaction 적용하기
오늘 실습한 부분 중 하나는 Update 함수에 Transaction을 적용하는 방법이었다. NestJS에서 TypeORM을 사용할 때, 여러 개의 Update 연산을 하나의 트랜잭션으로 묶어 처리하면 데이터 무결성을 보장할 수 있다.
- TypeORM의 QueryRunner를 활용한 트랜잭션 적용
- 트랜잭션 내에서 여러 Update 연산 실행 후 commit 또는 rollback 처리
직접 구현해 보면서 느낀 점은 Transaction을 Update 함수에 적용하는 게 생각보다 쉽다는 것이었다. 처음에는 복잡할 것 같았지만, QueryRunner를 활용하면 트랜잭션을 손쉽게 제어할 수 있었고, NestJS의 의존성 주입을 활용하면 더욱 깔끔하게 관리할 수 있었다. 특히 실무에서는 데이터 정합성이 중요한 만큼, 트랜잭션을 적극적으로 활용해야겠다고 느꼈다.
2. 데이터베이스 마이그레이션
데이터베이스 마이그레이션(Database Migration)은 데이터베이스의 스키마를 변경하거나 데이터를 이전하는 과정으로, NestJS의 TypeORM을 활용하면 체계적으로 관리할 수 있다.
- 마이그레이션을 사용하면 코드로 DB 스키마 변경 사항을 관리할 수 있어 협업과 유지보수에 용이하다.
- typeorm migration:generate 명령어를 사용하면 기존 엔터티(Entity) 변경 사항을 자동으로 감지하고 마이그레이션 파일을 생성할 수 있다.
아직 실습을 진행하지는 않았지만, NestJS 프로젝트에서 필수적으로 사용될 기능이라 조만간 직접 적용해 볼 기회가 있을 것 같아 기대된다. 실무에서도 여러 환경(개발, 테스트, 운영)에서 데이터베이스를 일관성 있게 유지하려면 마이그레이션이 필수적이므로, 이번 기회를 통해 제대로 익혀야겠다고 느꼈다.
pipe 관련한거는 이론으로만 배우고, 나머지는 다음 시간에 배우는데, 오늘은 이론까지만 배우고, 실습을 통해 정리하기로 했다.
사진



