首頁 > web前端 > js教程 > 靜態資料的 Sequelize 播種器

靜態資料的 Sequelize 播種器

Linda Hamilton
發布: 2024-12-29 03:10:10
原創
151 人瀏覽過

關於如何在續集中進行播種的非常簡短的帖子。 播種器是您在資料庫中建立靜態資料的方式,您希望這些資料無需使用者建立即可顯示。

這樣做的目標是向此模型定義的待辦事項應用程式中的非常基本的任務類型表添加一些靜態資料:

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視窗所示:

Sequelize seeders for static data

以上是靜態資料的 Sequelize 播種器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板