Sequelize
Postgres, MySQL, MariaDB, SQLite, Microsoft SQLServer
를 지원하는 Promise
패턴 기반이다. Node.js
에서 사용하고 인기높은 ORM
이다. Solid
트랜잭션, 관계설정, 즉시 로딩, 지연 로딩, 읽기 전용 복제본등을 포함해 많은 기능을 제공한다.
ORM이란?
Object Relational Mapping
(객체-관계 매핑)
- 객체를 관계형 데이터베이스(RDBMS)에 매핑(연결)해서
DB
의 기능들을 추상적으로 사용할 수 있게 하는 것이다.
장점
DB
쿼리를 추상화하여 기능을 구현하는 로직에만 집중할 수 있다.
- 특정
DB
에 대한 종속성이 줄어 DB
가 바뀌는 상황이 생겨도 유연하게 대처가 가능하다.
DB
마이그레이션을 쉽게 할 수 있다.
단점
ORM
으로만 서비스를 구현하기 어려운 경우가 존재한다.
Raw Query
를 사용하는 것보다 성능이 낮다.
Sequelize 설정
config.json
development
안에
"define": {"timestamps": false}
로 하면 자동으로 생성되는 created,updatedAt
이 생성되지 않는다.