본문 바로가기

JavaScript/실습 과정

[React] Nodebird 5.2 DB 세팅 정리

1. sequelize-cli를 global로 설치함

2. sequelize init이라고 입력

3. mysql2 설치

4. config 파일 설정

5. models 폴더에 index.js 파일 설정

"use strict";

const Sequelize = require("sequelize");
const env = process.env.NODE_ENV || "development";
const config = require("../config/config")[env];
const db = {};

const sequelize = new Sequelize(
  config.database,
  config.username,
  config.password,
  config
);

Object.keys(db).forEach(modelName => {
  if (db[modelName].associate) {
    db[modelName].associate(db);
  }
});

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

module.exports = db;

6. 테이블 만들기 (ERD를 먼저 그리고 나서 개발)

7. charset: utf8 / collate: utf8_general_ci 해야 한글 저장 가능

8. charset: utf8mb4 / collate: utf8mb4_general_ci 는 한글 + 이모티콘 가능

9. model/index.js 파일을 메인 index.js 에서 불러와서

 db.sequelize.sync() 로 생성함

10. model/index.js 파일에서 아래 코드와 같이 테이블 연동

db.Comment = require("./comment")(sequelize, Sequelize);
db.Hashtag = require("./hashtag")(sequelize, Sequelize);
db.Image = require("./image")(sequelize, Sequelize);
db.Post = require("./post")(sequelize, Sequelize);
db.User = require("./user")(sequelize, Sequelize);

11. DB 생성을 위해 sequelize db:create 실행

12. 앱 실행해보면 맨 처음 테이블 생성하는 모습을 볼 수 있음.