이제 첫번째 작업했었던 내용을 이어 DB단과 연결해보려고 한다.
이 링크의 분꺼를 참고하였다
이전 글 중에 Sequelize 사용하는 법 참고해서 DB를 생성하고 아래로 넘어가자.
우선 Sequelize에 대해서도 공부를 해야한다.
나는이제 sequelize를 통하여 DB에 넣을것인데 모듈먼저 다운로드할것이다.
$ npm i --save sequelize
$ npm i -g sequelize-cli
모듈을 설치 다하면 다음은 sequelize init을 통하여 파일구조화를 한다.
$ sequelize init
그리고 나는 config.json의 내용을 변경하려고한다.
// 기존 config.json
{
"development": {
"username": "root",
"password": null,
"database": "database_development",
"host": "127.0.0.1",
"dialect": "mysql"
},
"test": {
"username": "root",
"password": null,
"database": "database_test",
"host": "127.0.0.1",
"dialect": "mysql"
},
"production": {
"username": "root",
"password": null,
"database": "database_production",
"host": "127.0.0.1",
"dialect": "mysql"
}
}
바꾼 config.js를 표현하면
// 바꾼 config.js
require("dotenv").config()
const development = {
username: process.env.MYSQL_USERNAME,
password: process.env.MYSQL_PASSWORD,
database: process.env.MYSQL_DATABASE,
host: process.env.MYSQL_HOST,
dialect: "mysql",
logging: false,
}
const test = {
username: process.env.MYSQL_USERNAME,
password: process.env.MYSQL_PASSWORD,
database: process.env.MYSQL_DATABASE,
host: process.env.MYSQL_HOST,
dialect: "mysql",
}
const production = {
username: process.env.MYSQL_USERNAME,
password: process.env.MYSQL_PASSWORD,
database: process.env.MYSQL_DATABASE,
host: process.env.MYSQL_HOST,
dialect: "mysql",
}
module.exports = { development, test, production }
무슨작업을 한것이면 우리는 config.json내용을 .env로 빼줘서 보안에 좀더 신경썼습니다.
그리고 이작업을 하기위해서 필요한 모듈이있습니다.
$ npm i dotenv
그리고 우리는 .env에 저희의 비밀번호를 넣어줄것입니다.
그리고 우리는 DB 테이블을 생성하려면
sequeliz명령어를 사용해야 한다.
$ sequelize model:generate --name 테이블명 --attributes 속성명1:속성타입1,속성명2:속성타입2,...
두 개 이상의 속성에 대해서 기입할때 콤마(,)로 구분하는데, 사이에 띄어쓰기를 하면 에러가 난다.
$ sequelize model:generate --name musit --attributes id:integer,neckname:string,nation:string
우리는 작성했던 model을 수정해줄 것이다.
하지만 지금상태에서도
$ sequelize db:migrate
를해도 별 상관 없습니다.
sequelize를 통한 db에 테이블생성하는것을 해보았습니다.