Maison > interface Web > js tutoriel > Sequelize seeders pour les données statiques

Sequelize seeders pour les données statiques

Linda Hamilton
Libérer: 2024-12-29 03:10:10
original
148 Les gens l'ont consulté

Très bref article sur la façon de créer des seeders dans Sequelize. Les seeders vous permettent de créer des données statiques dans une base de données que vous souhaitez voir présentes sans que les utilisateurs aient à les créer.

Le but est d'ajouter des données statiques à ma table de types de tâches très basique dans mon application Todo définie par ce modèle :

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;
  };
Copier après la connexion

Pour créer un modèle de seeder :

npx sequelize-cli seed:generate --name add-static-task-types
Copier après la connexion

Il s'agit de remplir le modèle de semoir avec quelques types de tâches.

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

Copier après la connexion

REMARQUE : n'oubliez pas d'ajouter les colonnes CreateAt et UpdateAt, sinon vous obtiendrez l'erreur suivante :

ERROR: null value in column "createdAt" of relation "static_urgencies" violates not-null constraint
ERROR DETAIL: Failing row contains (1, Now, null, null).
Copier après la connexion

Pour exécuter la graine :

npx sequelize-cli db:seed:all
Copier après la connexion

Succès comme indiqué dans la fenêtre DBeaver :

Sequelize seeders for static data

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal