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 창에 표시된 성공:
위 내용은 정적 데이터에 대한 시더 연속화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!