[Node.js] sequelize seed 데이터 넣기

iberis2·2024년 2월 11일
post-thumbnail

테이블에 첫 데이터(seed 데이터) 넣기

seed 데이터 생성용 파일 만들기

npx sequelize seed:generate --name initialMembers

seed 데이터를 추가하는 내용을 담은 initialMembers 라는 이름의 파일을 생성하는 cli 명령어이다.

/seeders 디렉토리 하위에 현재시간-seed파일이름의 파일이 생성된다.

'use strict';

/** @type {import('sequelize-cli').Migration} */
module.exports = {
  async up(queryInterface, Sequelize) {
    /**
     * Add seed commands here.
     *
     * Example: 'People' 테이블의 row 에 추가할 값들을 객체 형태로 넣어주면 된다.
     * await queryInterface.bulkInsert('People', [{
     *   name: 'John Doe',
     *   isBetaMember: false
     * }], {});
     */
    await queryInterface.bulkInsert('Members', [{ // Members 테이블에 추가할 seed 데이터들
        id: 1,
        name: 'John Doe',
        email: 'abc@example.com',
        team: 'engineering',
        position: 'Software Engineer',
        phone: '123-456-7890',
        birthday: '01/01/1990',
        admissionDate: '01/01/2019',
        profileImage: 'profile.png',
      },
      {
        id: 2,
        name: 'Jane Lee',
        email: 'cds@example.com',
        team: 'sales',
        position: 'Software Engineer',
        phone: '010-456-7890',
        birthday: '08/01/1990',
        admissionDate: '01/20/2020',
        profileImage: 'profile2.png',
      }], {});
  },

  async down(queryInterface, Sequelize) {
    /**
     * Add commands to revert seed here.
     *
     * Example: 'People' 테이블의 모든 row를 삭제하는 코드이다.
     * await queryInterface.bulkDelete('People', null, {});
     */
  },
};

작성 방법이 주석 예시로 나온다.

seed data 적용하기

seeders 디렉토리에 있는 모든 seeder 파일이 적용된다.

npx sequelize db:seed:all

profile
React, Next.js, TypeScript 로 개발 중인 프론트엔드 개발자

0개의 댓글