맥을 사용중이기 때문에 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