MySQL 과 Sequelize 연동

윤성준·2023년 8월 14일
0

first react project

목록 보기
3/17

맥을 사용중이기 때문에 Mac OS mysql GUI인 Sequel Ace 설치를 해준다.

생성한 유저 정보로 데이터 베이스에 접속해준다.

나는 사이트의 로그인, 회원가입 구현을 위해 사용자의 정보 테이블을 생성했다.

react project 의 server 폴더를 따로 만들어준다.

/-server

server/config/database.config.js

const databaseConfig = {
    databaseName: 'baker',
    userName: 'root',
    password: '',
    host: '127.0.0.1',
    type: 'mysql'
}

module.exports = {databaseConfig}

데이터베이스 config 파일을 만들고 Sequel Ace 에서 만든 계정 정보를 입력해준다.

server/util/database.util.js

const { Sequelize } = require('sequelize');
const { databaseConfig } = require('../config/database.config');

const sequelize = new Sequelize(
  databaseConfig.databaseName,
  databaseConfig.userName,
  databaseConfig.password,
  {
  host:databaseConfig.host,
  dialect: databaseConfig.type
  });

  

  module.exports = { sequelize }

Sequelize 와 MySQL 을 연동해주는 코드이다.

server/model/user.model.js

const { DataTypes } = require('sequelize');
const { sequelize } = require('../util/database.util')

const User = sequelize.define('user', {
    id: {
        type: DataTypes.INTEGER,
        autoIncrement: true,
        primaryKey: true
    },
    nickname: {
        type: DataTypes.STRING    
    },
    password: {
        type: DataTypes.TEXT
    },
    email: {
        type: DataTypes.STRING
    },
    name: {
        type: DataTypes.STRING
    },
    birth: {
        type: DataTypes.STRING
    },
    provider: {
        type: DataTypes.STRING
    },
    createdAt: {
        type: DataTypes.DATE
    }, 
    updatedAt: {
        type: DataTypes.DATE
    }


}, {freezeTableName: true}) // table 이름 고정 (변형위험있음)

module.exports = User
profile
반갑습니다

0개의 댓글

Powered by GraphCDN, the GraphQL CDN