MysqlDB - 두번째 이야기

전진영·2022년 3월 10일
0

mysql

목록 보기
2/8

이제 첫번째 작업했었던 내용을 이어 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에 테이블생성하는것을 해보았습니다.

profile
코딩어린이

0개의 댓글