Node Express에서 Sequelize 기본 설정

Corner·2022년 5월 22일
0

node

목록 보기
2/5
post-thumbnail

Node Express에서 Sequelize 기본 설정

시퀄라이즈 패키지를 설치합니다.

npm install sequelize sequelize-cli

프로젝트 root 경로에서 구조가 잡혀있는 경로가 있으면 이동합니다. (필자는 app/ 디렉토리 내부에 구조가 잡혀있어서 app안에 세팅)

cd app/

시퀄라이즈 초기화로 기본파일을 생성합니다.

sequelize init

config/config.json

{
  "development": {
    "username": "root",
    "password": "",
    "database": "my_db",
    "host": "127.0.0.1",
    "dialect": "mysql",
  },
  "test": {
    "username": "root",
    "password": "",
    "database": "test_dev",
    "host": "127.0.0.1",
    "dialect": "mysql",
  },
  "production": {
    "username": "root",
    "password": null,
    "database": "database_production",
    "host": "127.0.0.1",
    "dialect": "mysql"
  }
}
  • username : 데이터베이스 접근할 username입니다.
  • passowrd : 데이터베이스 접근할 비밀번호입니다.
  • database : 스키마 이름을 지정하는 것입니다.
  • host : db서버가 될 ip (보통 local 작업이므로 127.0.0.1 or localhost )
  • dialect : 어떤 DB인지 정하는 것입니다.

comfig/db.config.js 작성

module.exports = {
    HOST: "localhost",
    PORT: "3306",
    USER: "root",
    PASSWORD: "",
    DB: "my_db",
    dialect: "mysql",
    pool: {
        max: 5,
        min: 0,
        acquire: 30000,
        idle: 10000
    }
};

models/index.js 세팅

const dbConfig = require("../config/db.config.js");

const Sequelize = require("sequelize");
const sequelize = new Sequelize(dbConfig.DB, dbConfig.USER, dbConfig.PASSWORD, {
  host: dbConfig.HOST,
  port: dbConfig.PORT,
  dialect: dbConfig.dialect,
  operatorsAliases: false,
  
  pool: {
    max: dbConfig.pool.max,
    min: dbConfig.pool.min,
    acquire: dbConfig.pool.acquire,
    idle: dbConfig.pool.idle
  }
});

const db = {};

db.Sequelize = Sequelize;
db.sequelize = sequelize;

// routes 사용
db.Member = require("./member.js")(sequelize, Sequelize);

module.exports = db;

DB 테이블 (스키마) 생성합니다.

sequelize db:create --env development

migrate를 수행합니다.

npx sequelize-cli db:migrate

profile
Full-stack Engineer. email - corner3499@kakao.com,

0개의 댓글