Database ORM 툴 Sequelize

황제낙엽 2021.01.27 22:43 조회 수 : 12

sitelink1 https://blog.naver.com/so15284/221749269164 
sitelink2  
sitelink3  
extra_vars4  
extra_vars5  
extra_vars6  

특징 및 장점

 

- Sequelize는 ORM(Object-Relational Mapping) 툴이다 (ORM은 자바스크립트 객체와 데이터베이스 릴레이션을 매핑해주는 도구)

- 자바스크립트 구문을 알아서 SQL문으로 바꿔주고, 자바스크립트만으로 SQL을 조작 할 수 있다

- Join 연산시 매우 편리하다

- MySQL뿐만 아니라 다른 데이터베이스도 호환이 되고 문법도 호환된다 (다른 SQL 데이터베이스로 전환이 자유롭다)

 

 

 

설치

 

터미널에 sequelize 명렁어를 입력하고 설치

000.jpg

 

mysql 버전으로 설치후 sequelize 커맨드를 사용하기 위해 sequelize-cli를 설치

001.jpg

 

설치를 완료후 sequelize를 초기화

002.jpg

 

초기화를 하면 config, models, migrations, seeders 폴더가 생성된 것을 확인

003.jpg

 

sequelize-cli가 자동으로 생성해주는 코드를 그대로 사용할 경우 에러가 발생하고, 필요없는 부분이 있으니 models의 index.js 파일의 코드를 다음과 같이 수정

004.jpg

 

app.js에 다음과 같이 추가하여 Sequelize를 통해서 MySQL와 연동

005.jpg

 

config/config.json에 들어가서 다음과 같이 MySQL 설정한 값대로 Setting하여 DB 스키마 생성 및 프로젝트와 DB 연결

006.jpg

- username은 DB 사용자 계정

- password는 사용자 계정

- database는 생성한 DB 스키마이름

- host는 DB Sever IP(로컬에 설치했으니 127.0.0.1로 설정)

- dialect는 설정한 DB이름

 

번호 제목 글쓴이 날짜 조회 수
56 Node.js로 ES6 코드 실행하기 (Babel) file 황제낙엽 2023.01.07 3
55 자바스크립트 CommonJS 모듈 내보내기/불러오기 (require) file 황제낙엽 2023.01.07 1
54 Node.js에서 ES 모듈(import/export) 사용하기 file 황제낙엽 2023.01.07 1
53 CommonJS 와 ES 의 Module 시스템 황제낙엽 2023.01.07 1
52 [session] 기본 - Express-session 기반 로그인 세션 관리 황제낙엽 2022.01.03 1
51 [session] 기본 - 2 file 황제낙엽 2022.01.03 0
50 [session] 기본 - 1 황제낙엽 2022.01.03 1
49 [T아카데미] Node.js 프로그램 기초부터 응용까지 강좌 모음 황제낙엽 2021.03.15 29
48 Node.js 에서 Bulk INSERT 를 하는 방법 (multi insert) 황제낙엽 2021.02.02 663
47 mysql, mysql2 모듈 버전 비교 황제낙엽 2021.01.31 269
46 [T아카데미/Node.js 프로그래밍] 프로그램 흐름 제어 (콜백지옥, Async, Promise) file 황제낙엽 2021.01.27 17
» ORM 툴 Sequelize file 황제낙엽 2021.01.27 12
44 [connection과 pool-05] pool 생성이 너무 많은 경우의 database에서의 에러 - Too many connections file 황제낙엽 2021.01.27 50
43 [connection과 pool-04] connection pool 에서의 Transaction을 이용한 commit 과 rollback 황제낙엽 2021.01.27 64
42 [connection과 pool-03] mysql.createPool 과 connection.query 황제낙엽 2021.01.27 383
41 [connection과 pool-02] mysql.createPool 과 pool.query 황제낙엽 2021.01.27 23
40 [connection과 pool-01] mysql.createConnection 과 connection.query 황제낙엽 2021.01.27 39
39 [T아카데미/Node.js 프로그래밍/MySQL] createPool, getConnection 의 간단한 예제 (강의 예제) 황제낙엽 2021.01.27 49
38 여러 개의 데이터 베이스 연결을 동시에 관리하는 PoolCluster 황제낙엽 2021.01.16 2205
37 connetion pooling 과 connection leak 황제낙엽 2021.01.16 35