기억 휘발 방지소

Sequelize 설치부터 연결까지 본문

Database/ORM

Sequelize 설치부터 연결까지

choice91 2022. 2. 16. 21:46
728x90
반응형

Sequelize는 DB 작업을 쉽게 할 수 있도록 도와주는 Node.js ORM이다.

ORM은 Object-Relational Mapping의 약자로 자바스크립트 객체와 관계형 데이터베이스를 서로 연결해주는 도구를 말한다.

 

✔️ 설치

sequelize, sequelize-cli, mysql2, express를 설치

npm install sequelize sequelize-cli mysql2 express

sequelize-cli는 sequelize 명령어를 실행하기 위한 라이브러리

mysql2는 MySQL과 연결해주기 위한 드라이버

 

✔️ Init

npx sequelize init

위에 명령어를 실행하면 config, migrations, models, seeders 폴더가 생성된다.

  • config: DB 설정 파일로 사용자 이름, DB이름, 비밀번호 등의 정보가 들어있다.
  • migrations: 데이터베이스에서 테이블의 컬럼명이 변경되거나 추가되는 등의 변화가 생길 때 그 정보들을 실제 데이터베이스에 반영하거나 취소할 수 있게 해준다.
  • models: 데이터베이스에 테이블들을 정의한다.
  • seeders: 테이블에 기본 데이터를 넣고 싶은 경우 사용한다.

 

✔️ 데이터베이스 생성

npx sequelize db:create

config.json에서 설정한 database가 생성된다.

 

✔️ 연결

const { sequelize } = require("../models/index");

sequelize
  .sync({ force: false })
  .then(() => {
    console.log("DB 연결 성공");
  })
  .catch((error) => {
    console.log("DB 연결 실패");
    console.error(err);
  });

혹은 async await로 바꿀 수도 있다.

const { sequelize } = require("../models/index");

const dbConnector = async () => {
  try {
    await sequelize.sync({ force: false });
    console.log("DB 연결 성공");
  } catch (error) {
    console.log("DB 연결 실패");
    console.error(error);
  }
};

dbConnector();

 

성공적으로 실행되었을 때

 

실제 데이터베이스에서 조회했을 때도 테이블이 잘 생성되었다.

728x90
반응형