ホームページ > ウェブフロントエンド > jsチュートリアル > 静的データのシーダーをシーケンス化する

静的データのシーダーをシーケンス化する

Linda Hamilton
リリース: 2024-12-29 03:10:10
オリジナル
148 人が閲覧しました

続編でシーダーを実行する方法についての非常に簡単な投稿。 シーダーは、ユーザーが作成しなくても存在させておきたい静的データをデータベース内に作成する方法です。

この目的は、このモデルで定義された ToDo アプリの非常に基本的なタスク タイプ テーブルに静的データを追加することです。

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

以上が静的データのシーダーをシーケンス化するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート