TIL 12주차 4일 - [Sprint]shortly-mvc (1)

Sang heon lee·2021년 9월 2일
0

TIL 리스트

목록 보기
45/60

ORM 설정

1. Sequelize 설치

  • 공식 문서 : https://sequelize.org/master/
  • Sequelize is a promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server.

2. Sequelize-cli 설치

  • 마이그레이션을 할 수 있도록 돕는 툴로, CLI에서 모델을 생성해주거나, 스키마 적용을 할 수 있도록 돕습니다.

3. bootstrapping

  • 프로젝트 폴더에 Sequelize 적용

  • 4가지 폴더(config, models, migrations, seeders) 생성

4. mysql 접속

  • config 파일에 mysql 접속을 위한 설정 및 db를 별도로 직접 수동으로 생성

모델 생성

5. 모델 생성

  • 모델(테이블)을 생성하여 테이블 작성을 위한 설계도를 작성한다.

  • 설계도 같은 개념의 model 폴더의 url.js,
    실제 db에 적용되어 지는 migrations 폴더의 20210901041011-create-url.js 파일 이 생성된다.

  • npx sequelize-cli model:generate --name url --attributes url:string,title:string,visits:integer

  • id, createdAt, updatedAt 필드는 자동 생성된다.

  • 데이터 타입은 Sequlize에서 정의하는 방식을 따라서 지정한다.

  • 기본값(defaultValues) 적용을 위해 모델 파일 및 마이그레이션 파일을 수정한다.

Migrations

6. 마이그레이션 실행

  • 실제 db에 모델을 적용한다.

  • db 내에 SequelizeMeta 테이블을 확인한다.
    마이그레이션 수행 로그 테이블 이라고 생각하면 될듯하다.

  • 마이그레이션 파일을 실행하여 테이블을 생성한다.
    실제 적용은 마이그레이션 파일을 보고 생성을 하므로 모델 파일과 마이그레이션 파일은 싱크가 맞아야 한다. (수정사항이 있으면 같이 수정해야 한다.)

6.1 마이그레이션 실행 취소

  • 아래 명령어를 통해 실행한 마이그레이션을 취소할수도 있다.

  • 마이그레이션 파일 코드 내에 up, down 이 존재한다.
    up 은 마이그레이션 실행시 적용되는 코드
    down 은 마이그레이션 실행 취소시 적용되는 코드

profile
개초보

0개의 댓글