Skip to content

Sequelize seed

Minsu Kang edited this page Oct 28, 2020 · 2 revisions

Sequelize seed란?

seed는 서버가 시작될 때 애플리케이션이 가지고 있어야 할 정적인 데이터들을 DB에 추가해주는 기능을 의미한다.

사용법

category라는 테이블이 존재한다고 가정하고 category 테이블에 데이터를 넣는 예시이다.

  1. sequelize-cli를 install 한다.

  2. 시더 초기화

sequelize init:seeders
// seeders 폴더 생성됨
  1. seed 파일 생성
// seeders/category.js
module.exports = {
  up: async (queryInterface) => {
    return queryInterface.bulkInsert('category', [
      {
        category_name: 'test1',
        is_income: true,
        created_at: new Date(),
        updated_at: new Date(),
      },
      {
        category_name: 'test2',
        is_income: true,
        created_at: new Date(),
        updated_at: new Date(),
      },
    ]);
  },

  down: async (queryInterface, Sequelize) => {
    const { Op } = Sequelize;

    return queryInterface.bulkDelete('category', {
      [Op.or]: [{ category_name: 'test1' }, { category_name: 'test2' }],
    });
  },
};

  1. 시더 실행
    • sequelize db:seed --seed category.js -> category.js에 있는 up() 메서드를 실행하여 데이터를 넣는다.
    • sequelize db:seed:all -> seeders 밑에 있는 모든 seed 파일의 up() 메서드를 실생하여 데이터를 넣는다.
    • sequelize db:undo --seed category.js -> category.js에 있는 down() 메서드를 실행하여 데이터를 삭제한다.
    • sequelize db:undo:all -> seeders 밑에 있는 모든 seed 파일의 down() 메서드를 실생하여 데이터를 삭제한다.

Overview

🏠Home

📖 Api docs

😄일일 회의록
😠일일 회고
😢주간 회고
👼데일리 스크럼
☔데모
🍵피어세션
📖 학습공유
🔥 Trouble Shooting
🍰 우리의 코드 돌아보기
Clone this wiki locally