Sequelize

문린이·2022년 10월 5일
0

프리온보딩 백엔드 코스 사전과제를 하면서 필수조건이 ORM 사용이었다. 내가 지금까지 사용한 ORM은 TypeORM이었다. 타입스크립트가 아닌 순수 자바스크립트를 사용하면서 ORM을 사용하려면 Sequelize가 더 나을 거 같아서 공부하면서 사용한 기록이다.

설치

npm install --save sequelize

DB 연결

1. config.json에 입력

2. define
(1) 컬럼명과 타입, Null 여부, Default 값 등을 입력한다.
(2) tableName(입력하지 않으면 정의한 이름의 --s를 붙여서 생성된다.)
(3) timestamps -> 기본값(true)로 설정하면 createdAt, updatedAt이 자동으로 생성된다.
(4) 유니크 값등을 지정할 수 있다.
3. 기본문법

(1) 불러오기
const { Recruitment, sequelize } = require("../models");

(2) 생성
    await Recruitment.create({
      company_id: companyId,
      position: position,
      compensation: compensation,
      contents: contents,
      stack_id: stackId,
    });

(3) count
  const checkRecruitmentId = await Recruitment.count({
    where: { id: recruitmentId },
  });
  
(4) update
    await Recruitment.update(
      {
        position: position,
        compensation: compensation,
        contents: contents,
        stack_id: stackId,
      },
      { where: { id: recruitmentId } }
    );
    
(5) 조회
  const companyId = await Recruitment.findAll({
    attributes: ["company_id"],
    raw: true,
    where: { id: recruitmentId },
  });
  

마치며

Sequelize는 참 유용한 라이브러리이다. 자바스크립트 문법으로 db를 다룰 수 있고 편리한 점이 많다. 그러나 단점도 있다. 복잡한 쿼리문을 구현할 수 없고 속도 면에서 raw 쿼리문을 사용하는 거보다 느릴 수 있다. 그래도 일반적인 쿼리문은 orm을 사용하여 구현하면 더 효율적으로 코딩을 할 수 있다는 생각을 가졌다.

profile
Software Developer

0개의 댓글