초기(init) 혹은 더미(dummy) 데이터 생성

npx sequelize seed:generate --name [테이블명].seeder // 씨더 파일 생성

npx sequelize-cli db:seed:all // 전체 시드 실행
npx sequelize db:seed --seed [파일명.js] // 특정 씨드 파일 실행

npx sequelize-cli db:seed:undo // 씨더 삭제
npx sequelize-cli db:seed:undo --seed [파일명.js] // 특정 씨드 파일 삭제
npx sequelize-cli db:seed:undo:all // 전체 삭제

image.png

/**
 * @file databases/seeders/dummy-users.seeder.js
 * @description users table dummy data create
 * 251118 v1.0.0 CK init
 */

import bcrypt from 'bcrypt';

// 테이블명
const tableName = 'users';

/** @type {import('sequelize-cli').Migration} */
export default {
  async up (queryInterface, Sequelize) {
    // 레코드 정보
    const records = [
      {
        email: 'admin@admin.com',
        password: await bcrypt.hash('pwa12345', 10),
        nick: '관리하는 물개',
        provider: 'NONE',
        role: 'SUPER',
        profile: '',
        created_at: new Date(),
        updated_at: new Date(),
      },
      {
        email: 'admin2@admin.com',
        password: await bcrypt.hash('pwa12345', 10),
        nick: '관리보고 하프물범',
        provider: 'KAKAO',
        role: 'NORMAL',
        profile: '',
        created_at: new Date(),
        updated_at: new Date(),
      },
    ];
    
    // 데이터 생성 : queryInterface.bulkInsert(tableName, records, options)
    await queryInterface.bulkInsert(tableName, records, {});
  },

  async down (queryInterface, Sequelize) {
    // 데이터 삭제 : await queryInterface.bulkDelete(tableName, null, {});
    await queryInterface.bulkDelete(tableName, null, {});
  }
};