Sehr kurzer Beitrag darüber, wie man Seeder in Sequelize macht. Mit Seedern erstellen Sie statische Daten in einer Datenbank, die vorhanden sein sollen, ohne dass die Benutzer sie erstellen müssen.
Das Ziel besteht darin, einige statische Daten zu meiner sehr einfachen Aufgabentyptabelle in meiner Aufgaben-App hinzuzufügen, die durch dieses Modell definiert ist:
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; };
So erstellen Sie eine Seeder-Vorlage:
npx sequelize-cli seed:generate --name add-static-task-types
Hiermit wird die Seeder-Vorlage mit einigen Aufgabentypen ausgefüllt.
'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 }); } };
HINWEIS: Vergessen Sie nicht, die Spalten „createdAt“ und „updateAt“ hinzuzufügen, sonst erhalten Sie die folgende Fehlermeldung:
ERROR: null value in column "createdAt" of relation "static_urgencies" violates not-null constraint ERROR DETAIL: Failing row contains (1, Now, null, null).
So führen Sie den Seed aus:
npx sequelize-cli db:seed:all
Erfolg, wie im DBeaver-Fenster angezeigt:
Das obige ist der detaillierte Inhalt vonSequelisieren Sie Seeder für statische Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!