시퀄라이즈 사용하기
시퀄라이즈는 MySQL 작업을 쉽게 할 수 있도록 도와주는 라이브러리입니다.
시퀄라이즈는 ORM(Object-relational Mapping)으로 분류됩니다. ORM은 자바스크립트 객체와 데이터베이스의 릴레이션을 매핑해주는 도구입니다.
시퀄라이즈를 단지 MySQL과 같이 써야만 하는 것은 아닙니다. MariaDB, PostgreSQL, SQLite, MSSQL 등 다른 데이터베이스도 같이 쓸 수 있습니다. 문법이 어느 정도 호환되므로 프로젝트를 다른 SQL 데이터베이스로 전환할 때도 편리합니다.
시퀄라이즈를 쓰는 이유는 자바스크립트 구문을 알아서 SQL로 바꿔주기 때문입니다. 따라서 SQL 언어를 직접 사용하지 않고도 자바스크립트만으로 MySQL을 조작할 수 있으며, SQL을 몰라도 MySQL을 어느 정도 다룰 수 있게 됩니다.
시퀄라이즈 실습을 위한 새 프로젝트를 생성하갰습니다. learn-sequelize 폴더 안에 생성합니다.
{
"name": "learn-sequelize",
"version": "0.0.1",
"description": "시퀄라이즈를 배우자",
"main": "app.js",
"scripts": {
"start": "nodemon app"
},
"author": "ZeroCho",
"license": "MIT"
}
이제 시퀄라이즈에 필요한 sequelize와 sequelize-cli, mysql2 패키지를 설치합니다.
$ npm i express morgan nunjucks sequelize sequelize-cli mysql2
$ npm i -D nodemon
sequelize-cli는 시퀄라이즈 명령어를 실행하기 위한 패키지이고, mysql2는 MySQL과 시퀄라이즈를 이어주는 드라이버입니다.
설치 완료 후 sequelize init 명령어를 호출하면 됩니다. 전역 설치 없이 명령어로 사용하려면 앞에 npx를 붙이면 됩니다.
$ npx sequelize init
Sequelize CLI [Node: 22.13.0, CLI: 6.6.3, ORM: 6.37.7]
Created "config\config.json"
Successfully created models folder at "D:\공부\Nodejs\7장\learn-sequelize\models".
Successfully created migrations folder at "D:\공부\Nodejs\7장\learn-sequelize\migrations".
Successfully created seeders folder at "D:\공부\Nodejs\7장\learn-sequelize\seeders".
config, models, migrations, seeders 폴더가 생성되었습니다. models 폴더 안에 index.js가 생성되었는지 확인합니다. sequelize-cli가 자동으로 생성해주는 코드는 그대로 사용할 때 에러가 발생하고, 필요 없는 부분은 다음과 같이 수정합니다.
const Sequelize = require("sequelize");
const env = process.env.NODE_ENV || "development";
const config = require("../config/config.json")[env];
const db = {};
const sequelize = new Sequelize(
config.database,
config.username,
config.password,
config
);
db.sequelize = sequelize;
module.exports = db;
sequlize는 시퀄라이즈 패키지이자 생성자입니다. config/config.json에서 데이터베이스 설정을 불러운 후 new Sequelize를 통해 MySQL 연결 객체를 생성합니다. 연결 객체를 나중에 재사용하기 위해 db.seqelize에 넣어두었습니다.
'프로그래밍 언어 > NODE JS' 카테고리의 다른 글
| 모델 정의하기 (1) | 2025.08.27 |
|---|---|
| MySQL 연결하기 (0) | 2025.08.24 |
| CRUD 작업하기 (1) | 2025.08.18 |
| 데이터베이스 및 테이블 생성하기 (6) | 2025.08.15 |
| 워크벤치 커넥션 생성하기 (0) | 2025.08.12 |