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

Sequelisieren Sie Seeder für statische Daten

Linda Hamilton
Freigeben: 2024-12-29 03:10:10
Original
154 Leute haben es durchsucht

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;
  };
Nach dem Login kopieren

So erstellen Sie eine Seeder-Vorlage:

npx sequelize-cli seed:generate --name add-static-task-types
Nach dem Login kopieren

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
    });
  }
};

Nach dem Login kopieren

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).
Nach dem Login kopieren

So führen Sie den Seed aus:

npx sequelize-cli db:seed:all
Nach dem Login kopieren

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!

Quelle:dev.to
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage