EC2 서버 MySQL DB를 Sequelize로 로컬에서 조작하기

유현준·2022년 4월 14일
0

1. EC2 서버의 MySQL DB 테이블을 로컬 환경의 소스 코드 편집기(VSCode 등)로 불러오는 방법

준비물

  • Table을 가지고 있는 EC2 서버의 MySQL DB
  • sequelize, sequelize-cli, sequelize-auto(global), mysql2(global)

1) 로컬 환경에서 sequelize 환경 세팅

  • npx sequelize init 실행해서 model, migration 등 환경 파일 세팅

2) Sequelize-auto를 이용해서 DB 정보 불러오기

  • sequelize-auto -o "./models" -d firstsql -h localhost -u root -p 3306 -x dkakcndj12~!; -e mysql 명령어를 실행해서 EC2 서버에 저장된 MySQL DB 테이블을 소스코드로 불러오기.
    O = DB 테이블 스키마 파일을 생성할 폴더 경로
    D = DB에서 이용할 계정 아이디
    H = DB가 설치된 주소
    P = DB에 접근할 주소의 포트 넘버
    X = DB 계정의 비밀번호
    E = 사용하는 DB의 종류

2. 로컬 환경에서 작업한 DB 테이블 정보를 EC2 서버의 MySQL DB에 적용시키는 방법

준비물

  • Sequelize, mysql2, sequelize-cli

1) EC2 서버에 외부 주소에서 접근 가능한 계정 생성하기.

  • 관리자 계정으로 create user '000'@'%' identified by '0000'; 명령어를 실행시켜, 외부 주소(로컬)에서도 접근 가능한 계정을 생성한다.

2) 로컬 환경에서 sequelize 환경 세팅하기

  • npx sequelize init 실행해서 model, migration 등 환경 파일 세팅

3) config.json 파일에서 EC2 서버에서 생성한 계정 정보를 입력하기.

"development": {
    "username": "AAA",
    "password": "BBB",
    "database": "C", (생성할 DB의 이름)
    "host": "C.A.C.A",
    "dialect": "mysql"
  },

4) 로컬 환경에서 EC2 서버 MySQL DB에 적용할 TABLE 스키마 구성하기

npx sequelize model:generate --name User --attributes email:string,nickname:string,password:string

5) EC2 서버 MySQL에 소스코드의 내용 적용하기

  • 소스코드 편집기의 터미널에서 npx sequelize db:create, npx sequelize db:migrate 실행 시, EC2 서버 MySQL에 소스코드에서 생성한 테이블의 내용이 적용된다.
  • cf) db:migrate를 실행하려면, migration 폴더에 table에 해당하는 migration 파일들이 있어야만 한다.

2-1. sequelize-auto로 vsc에서 작업한 DB 테이블 정보를 EC2 서버의 MySQL DB에 적용시키는 방법

1) VSC에서 MySQL DB로 전달할 테이블을 작성한다.

  • 이 때, migration 폴더는 비어있어도 무관하다. models만 채워져 있어도 된다.

2) app.js에 다음과 같은 코드를 추가해준다.

const sequelize = require("./models").sequelize;
sequelize.sync(); //서버가 실행될때 모델이 mysql과 연결

3) vsc의 프로젝트 파일 서버를 실행시킨다.

  • 서버를 실행하면, vsc의 모델 내용이 mysql db에 적용된다.
profile
차가운에스프레소의 개발블로그입니다. (22.03. ~ 22.12.)

0개의 댓글