続編でシーダーを実行する方法についての非常に簡単な投稿。 シーダーは、ユーザーが作成しなくても存在させておきたい静的データをデータベース内に作成する方法です。
この目的は、このモデルで定義された ToDo アプリの非常に基本的なタスク タイプ テーブルに静的データを追加することです。
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 }); } };
注: createdAt 列と updatedAt 列を忘れずに追加してください。追加しないと、次のエラーが発生します:
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 中国語 Web サイトの他の関連記事を参照してください。