Sequelize 사용법

이번 글에서는 victolee님의 Sequelize를 연재 강좌를 스터디하면서 기억하고자 하는 내용들을 정리해보려고 합니다.

(아주아주 쉽게 잘 설명해놓으신걸 보면 엄청난 고수이신듯합니다. ㅋ)

https://victorydntmd.tistory.com/26?category=677306 

 

내가 사용한 개발 환경은 다음과 같다. (EC2환경과 Mac 환경에서 같이 작업하고 있음)

# node -v
v16.11.0
# npm -v
8.3.0
# sequelize --version
6.3.0
# mysql --version 
mysql  Ver 15.1 Distrib 10.3.32-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
mysql  Ver 8.0.26 for macos11.3 on x86_64 (Homebrew)

 

sequelize 설정하기

# npm install sequelize mysql2
# npm install -g sequelize-cli

 

 

sequelize 주요 명령어

// 모델 정의하기
# sequelize model:create --name TABLE_NAME --attributes "COLUMN1:type, COLUMN2:type, COLUMN3:type"

// 마이그레이션 생성하기
# sequelize migration:create --name {생성하는 migration 이름}

// 변경사항 적용하기
# sequelize db:migrate  

// 마이그레이션 롤백
# sequelize db:migrate:undo
# sequelize db:migrate:undo:all


// 마이그레이션 관련 snippets //
// 테이블 생성
await queryInterface.createTable('MetaCode', {
      id: {
        allowNull: false,
        autoIncrement: true,
        primaryKey: true,
        type: Sequelize.INTEGER
      },
      name: {
        type: Sequelize.STRING,
        allowNull: false
      }
    })
    
// 컬럼 속성 변경
await queryInterface.changeColumn('goodsLogs ', 'test2', {
      type: Sequelize.INTEGER,
      allowNull: true
    })

// 테이블에 컬럼 추가
await queryInterface.addColumn('MetaCode', 'age', {
      type: Sequelize.INTEGER
    })

// 컬럼 이름 변경
await queryInterface.renameColumn('goodsLogs', 'test2', 'test1')

// 컬럼 제거하기
await queryInterface.removeColumn('goodsLogs', 'test2')

// 테이블 drop
await queryInterface.dropTable('MetaCode')
728x90

'Development > NodeJS' 카테고리의 다른 글

NodeJS & Express  (0) 2021.12.17