본문 바로가기

개발/Back-end

Sequelize 간단히 알아보기

반응형

Sequelize 를 이번에 mysql을 공부하면서 처음 알게 되었다. 생각보다 너무 좋은 툴 이라서 간단하게 정리해보고자 한다.

 

일단 Sequelize는 DB랑 내가 개발한 Node 서버랑 연결해주는 다리라고 생각한다. 데이터랑 연결하기 위해서 쿼리를 날려야 하는데 이를 javascript를 통해 개발할 수 있도록 다리역할을 해준다. 객체의 메서드를 이용하는 것처럼 쿼리 로직을 작성할 수 있다. Sequelize는 다양한 관계형 DB랑 연관하여 개발할 수 있고 Promise 기반으로 개발되여 비동기 개발에도 수월하게 사용된다.

 

sequelize init

위 명령어를 통해 기본적인 틀을 만들수 있다.

config.json에서 설정을 해준다음 db:create로 생성해준다. 

그리고 내가 원하는 table을 만들어 주고 그에 따른 설정을 하면된다.

위는 내가 만든 트위터 서비스의 Post 트윗 글의 설정인데 models 안에 post.js의 내용이다.

 

content와 img를 통해 게시글의 내용을 정하고 likes 수를 통해 좋아요 수 카운팅을 한다. 그 아래는 옵션으로 이름과 날짜 등을 설정해준다. 또 그 아래의 associate 부분은 다른 model들 과의 관계를 나타내 주는데 User의 관계와 hashtag와의 관계를 명시해준다. 이를 통해 1:N, M:N 등을 설정한다.

 

이는 routes 파일의 post.js 파일인데 routes를 통해 분기를 하였다. 그리고 자세히 보아야 할 부분은 Post 안에 있는 Sequelize 메서드 인데 findOrCreate, addHashtags, destory, update등이 있다. 

 

메서드를 통해 쉽게 db를 변경할 수 있다. 좋아요를 처음 개발할 때도 patch를 어떻게 적용해야할지 찾아보는 중 sequelize의 메서드 기능을 찾아서 쉽게 개발할 수 있었다. 적극적으로 모듈을 사용할 필요가 있다.

 

지금까지 간단하게 Sequelize를 알아보았다. mongo-db편에서도 이와 같은 npm module을 사용할 생각에 상당히 설렌다. ㅎㅎ

반응형

'개발 > Back-end' 카테고리의 다른 글

MongoDB vs MySQL  (0) 2021.07.17
데이터 베이스 스키마 (Database schema)  (2) 2021.07.11
SQL이 어려운 이유 2- JOIN  (0) 2021.06.27
SQL을 어려운 이유 1 - GROUP BY  (0) 2021.06.26
Node js 자주 사용하는 미들웨어  (0) 2021.06.22