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이 생성되지 않는다.