1. mysql, sequelize, sequelize-cli 모듈 설치
$ npm i --save sequelize mysql2 // 모듈 설치
$ npm i -g sequelize-cli // 콘솔에서 sequelize 명령 가능하게 하는 모듈
$ sequelize init // 필요한 파일과 디렉토리를 자동 설치
- 초기 세팅 폴더 및 파일 생성됨
- 폴더 및 파일들의 간략한 설명만 하고 실제 세팅은 뒤에서 진행
- config.json
- sequelize 모듈을 DB 환경과 연결 시키는 용도
- 편의상 js로 변경하여 사용한다
export default { development: { username: "root", password: "hello1234!", database: "DEV-HELLO-WEB", host: "127.0.0.1", dialect: "mysql", port: 3307, }, test: { username: "root", password: "hello1234!", database: "TEST-HELLO-WEB", host: "127.0.0.1", dialect: "mysql", port: 3307, }, production: { username: "root", password: null, database: "HELLO-WEB", host: "127.0.0.1", dialect: "mysql", port: 3307, }, };
- models/~
- ORM 객체로 사용할 Model을 정의하는 곳
- RDB에서 member, post, qna 테이블들이 있다고 가정하면, 각각 테이블 별로 Member, Post, Qna 모델을 만들어 주고, 컬럼 속성들이나 제약조건들을 정의해 주면 된다
- index.js
- Sequelize 인스턴스를 생성
- config에서 정의한 환경변수에 따라서 mysql DB와 연동된 sequelize 객체를 export
- default로 만들어주는 내용을 아래와 같이 필요한 내용만 두고 수정한다
"use strict"; import { Sequelize } from "sequelize"; import config from "./config/config.js"; export default new Sequelize(config[process.env.NODE_ENV]);
- migrations
- RDB DDL 정의하는 파일들
- 실제로 ORM 객체로 작성한 테이블 정의 파일을 Mysql DB에 테이블로 반영시킬 수 있다.
- 이 migrations 파일들만 있으면, 어떤 RDBMS 에도 동일한 테이블 세팅을 구성할 수 있다
Node-Sequelize-Mysql (3) Mysql 로컬 db docker 띄우기
'programming > Javascript' 카테고리의 다른 글
Node-Sequelize-Mysql (4) Model 생성 & migrations 파일 생성 (0) | 2022.07.06 |
---|---|
Node-Sequelize-Mysql (3) Mysql 로컬 db docker 띄우기 (0) | 2022.07.06 |
Node-Sequelize-Mysql (1) ORM 개념 (0) | 2022.07.06 |
[JS] 비동기 프로그래밍 Callback -> Promise -> Async-await (0) | 2022.06.27 |
얕은복사 & 깊은복사 (0) | 2022.03.11 |