스파르타 Node.js 숙련 4 (MySQL → Sequelize))

병아리의최후·2022년 12월 21일
0

Node.js

목록 보기
9/13

일단 시작하기 앞서 AWS에서 RDS를 구매해주고

VS COde에서 MySQL 확장 플러그인을 설치해주고 연결해주자.

자세한 방법은 생략하겠다. 구글링 고고

01. Sequelize 설정

  1. 먼저 터미널에서 모듈설치
npm i sequelize mysql2 -S
npm i sequelize-cli -D
  1. 그 다음 Sequelize 사용을 준비
npx sequelize init

1, 2번이 잘 되었으면 아래와 같이 바뀜

  1. models 폴더 안에 index.js가 생성됨
  2. config 폴더 안에 config.json 파일이 생성됨
    이 파일을 열어보면 데이터베이스에 연결하기 위한 설정 데이터가 JSON 형식으로 들어가있음.
  3. migrations 폴더가 생성됨
  4. seeder 폴더가 생성됨

3~4번은 빈 폴더

여기까지 잘 마쳤으면 다음 단계로 넘어가보자

  1. config/config.json 파일 수정
// config/config.json
{
  "development": {
    "username": "root",
    "password": "4321aaaa",
    "database": "database_development",
    "host": "express-database.clx5rpjtu59t.ap-northeast-2.rds.amazonaws.com",
    "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"
  }
}

password 바꿔주고 host 바꿔주면 연결 완료!

  1. 데이터베이스 생성
npx sequelize db:create

잘 연결됐나 확인할 겸 위의 명령어를 통해 데이터베이스를 생성해보자.

02. 로그인/회원가입 기능을 Sequelize로 구현

이전에 mongoose로 연결했던 로그인/회원가입 기능을 sequelize로 구현해보자.

먼저 사용자 모델 생성명령을 통해 User모델을 생성해보자

npx sequelize model:generate --name User --attributes email:string,nickname:string,password:string
  • models/user.js 의 역할:
    • 데이터베이스에 읽고 쓰고, 변경하는 데이터모델이라는 형태로 구현해서 정해둔 형식대로 다루게 해주는 역할을 한다.
  • migrations 안에 있는 파일의 역할:
    • 데이터베이스에 테이블을 생성하고 제거할 때 여기에 있는 파일을 사용

이 후 본인이 짜놓은 프론트앤드코드에 맞춰

models/user.js, migrations/숫자-create-user.js 를 알맞게 수정해주자.

그 다음 테이블 생성해주자

npx sequelize db:migrate

이제 세팅은 끝났고 이전에 작성했던 mongoose 연결코드만 바꿔주자

회원가입 API

로그인 API

로그인 확인 미들웨어

0개의 댓글

관련 채용 정보