express.js
와mongodb
mongoose
를 배우고 오늘은mysqlDB
를Docker
를 통해 가져와서sequelize
(ORM)를 이용하여 자바스크립트 객채와 데이터베이스의 릴레이션을 매핑해주는 기능을 배웠다.
- 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다.
- 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다.
- 객체 모델과 관계형 모델 간에 불일치가 존재한다.
ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다.- 데이터베이스
데이터
<—매핑—>Object
필드
객체를 통해 간접적으로 데이터베이스 데이터를 다룬다.
참고한 사이트
$ npm i sequelize mysql2 $ npm i -g sequelize-cli $ sequelize init
명령어 실행시 생기는 폴더 및 파일들
- config : sequelize를 사용하기 위해 환경을 설정하는 부분
- models/index.js : Model을 정의하고 관계를 설정하는 부분
- seeders : 모든 seed 파일들을 포함
config.json 정보 기입해주기
$ npx sequelize db:create DB
- DB를 생성
$ npx sequelize-cli db:migrate
- 데이터 모델의 뼈대가 완성되면 MYSQL 로 이식
$ npx sequelize db:migrage:undo:all
- 한번 이식되면 수정 시에 반영이 되지 않으므로
undo
하고 다시migrate
해준다.