> 웹 프론트엔드 > JS 튜토리얼 > 정적 데이터에 대한 시더 연속화

정적 데이터에 대한 시더 연속화

Linda Hamilton
풀어 주다: 2024-12-29 03:10:10
원래의
154명이 탐색했습니다.

Sequelize에서 시더를 수행하는 방법에 대한 매우 간단한 게시물입니다. 시더는 사용자가 생성할 필요 없이 데이터베이스에 존재하려는 정적 데이터를 생성하는 방법입니다.

이 목표는 이 모델로 정의된 내 할 일 앱의 매우 기본적인 작업 유형 테이블에 일부 정적 데이터를 추가하는 것입니다.

module.exports = (sequelize, Sequelize) => {
    const static_task_type = sequelize.define("static_task_type", {
      id: {
        type: Sequelize.INTEGER,
        primaryKey: true,
        autoIncrement: true
      },
      task_type: {
        type: Sequelize.STRING,
        allowNull: false
      }
    });
    static_task_type.associate = function (models) {

    };

    return static_task_type;
  };
로그인 후 복사

시더 템플릿을 생성하려면:

npx sequelize-cli seed:generate --name add-static-task-types
로그인 후 복사

이것은 몇 가지 작업 유형으로 시더 템플릿을 채우는 것입니다.

'use strict';

/** @type {import('sequelize-cli').Migration} */
module.exports = {
  async up (queryInterface, Sequelize) {


  await queryInterface.bulkInsert('static_task_types',[
      { id: 1, task_type: 'Deep' ,createdAt: new Date(),updatedAt: new Date()},
      { id: 2, task_type: 'Shallow' ,createdAt: new Date(),updatedAt: new Date()},
      { id: 3, task_type: 'Phone Call' ,createdAt: new Date(),updatedAt: new Date() },
      { id: 4, task_type: 'Errands' ,createdAt: new Date(),updatedAt: new Date()}]

      ) 
  },



  async down (queryInterface, Sequelize) {
    await queryInterface.bulkDelete('static_task_types', null, {
      truncate: true,
      cascade: true, // Optional: Will also delete dependent rows if foreign keys are used
      restartIdentity: true, // Optional: Resets auto-increment counters
    });
  }
};

로그인 후 복사

참고: CreateAt 및 updateAt 열을 추가하는 것을 잊지 마세요. 그렇지 않으면 다음 오류가 발생합니다.

ERROR: null value in column "createdAt" of relation "static_urgencies" violates not-null constraint
ERROR DETAIL: Failing row contains (1, Now, null, null).
로그인 후 복사

시드를 운영하려면:

npx sequelize-cli db:seed:all
로그인 후 복사

DBeaver 창에 표시된 성공:

Sequelize seeders for static data

위 내용은 정적 데이터에 대한 시더 연속화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿