sequelize-cli 사용기

Outclass·2022년 6월 22일
0
post-thumbnail

Node.js ORM 툴인 Sequelize를 훨씬 쉽게 사용할 수 있도록 도와주는 Sequelize-cli 간단사용기입니다.

일단 시작은 설치부터

npm install -D sequelize-cli

프로젝트에 sequelize cli세팅

npx sequelize-cli init

  • migrations, models, seeders이런 폴더가 자동으로 생겨난다(router는 내가 만든것)

모델 만들기

npx sequelize-cli model:generate --name User --attributes firstName:string,lastName:string,email:string

  • 모델을 만들면 migrations폴더에 이런 친구들이 생기는데, 이후에 마이그레이션을 진행해야 db에 테이블 및 컬럼이 생성된다!

마이그레이션

npx sequelize-cli db:migrate
  • 내가 변경한 사항들이 db에 반영된다!

컬럼을 추가하거나 삭제하고 싶다면

npx sequelize-cli migration:generate --name "모델이름"
  • 이후 생성되는 migration파일에서 컬럼 추가/삭제를 진행한다
module.exports = {
  async up(queryInterface, Sequelize) {
    /**
     * Add altering commands here.
     *
     * Example:
     * await queryInterface.createTable('users', { id: Sequelize.INTEGER });
     */
    await queryInterface.addColumn("테이블명", "컬럼명", {
      type: Sequelize.STRING,
      //컬럼의 타입
    });
  },

  async down(queryInterface, Sequelize) {
    /**
     * Add reverting commands here.
     *
     * Example:
     * await queryInterface.dropTable('users');
     */
     await queryInterface.removeColumn("테이블명", "컬럼명");
  },
};
  • 이후 마이그레이션 진행!

db에 시드하기

npx sequelize-cli seed:generate --name "테이블이름"

  • 요런식으로 시드가 생긴다!
await queryInterface.bulkInsert(
      "Workers",
      [
    {
      name: "이름",
      age: 35,
      position: "팀장",
      createdAt: new Date(),
      updatedAt: new Date(),
    },
    ...
      ],
      {}
    );
  • 생성되는 파일에 위와 같이 데이터를 생성할 수 있음
npx sequelize-cli db:seed:all
  • db에 내가 생성한 데이터가 추가된다

한줄소감

작년에 잠깐 다뤄보고 오랜만에 다시 사용해보니, 생각보다 더 편리한 기능들이 많았고 겁먹었던 것에 비해 더 수월하게 서버를 구축할 수 있었다. 역시 뭐가됐는 직접 해봐야 하는구나

profile
When you stop having big dreams that’s when you’ve died, despite not being buried yet.

0개의 댓글