Node.js와 함께하는 시퀄라이저(Sequelize) 기초
시퀄라이저는 Node.js
환경에서 사용하는 ORM(Object-Relational Mapping)
라이브러리 중 하나로, SQL 데이터베이스를 객체 지향적으로 다룰 수 있게 도와준다. MySQL
, PostgreSQL
, SQLite
, Microsoft SQL Server
등 여러 SQL 데이터베이스를 지원하며, 자바스크립트 코드로 데이터베이스의 테이블을 생성, 조회, 수정, 삭제하는 작업을 할 수 있다.
시퀄라이저를 사용하기 위해선 먼저 npm을 통해 라이브러르 설치를 해야한다.
npm install --save sequelize
npm install --save pg pg-hstore # PostgreSQL를 사용하는 경우
그 후, Sequelize
객체를 생성하고 이를 사용하여 DB와의 연결을 설정한다.
const { Sequelize } = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'postgres'
});
이렇게 생성한 Sequelize
객체를 사용하여 모델을 정의하고, CRUD 작업을 수행할 수 있다.
시퀄라이저는 SQL 쿼리를 직접 작성하지 않고도 데이터베이스 작업을 수행할 수 있게 해주는 편리한 도구다. 또한, 자바스크립트 코드를 통해 데이터베이스를 다룰 수 있으므로 코드의 일관성을 유지할 수 있고, SQL 쿼리에 대한 실수를 줄일 수 있다.
User
모델을 생성하고, 새로운 사용자를 추가하는 예시.const { Sequelize, DataTypes } = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'postgres'
});
const User = sequelize.define('User', {
// 모델 속성 정의
firstName: {
type: DataTypes.STRING,
allowNull: false
},
lastName: {
type: DataTypes.STRING
}
});
// 사용자 생성
User.create({ firstName: "Tom", lastName: "Hanks" })
.then(user => console.log(user.id));
나처럼 ES6 문법을 좋아하는 사람이라면 굉장한 스트레스를 받을 수도 있으니 주의하자.
정말 어마어마한 에러를 보게 될 거다.