Heim >Web-Frontend >js-Tutorial >Sequelisieren Sie Seeder für statische Daten

Sequelisieren Sie Seeder für statische Daten

Linda Hamilton
Linda HamiltonOriginal
2024-12-29 03:10:10159Durchsuche

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:

Sequelize seeders for static data

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:#FreeJavaScriptNächster Artikel:#FreeJavaScript