Rumah > hujung hadapan web > tutorial js > Sekuelkan pembenih untuk data statik

Sekuelkan pembenih untuk data statik

Linda Hamilton
Lepaskan: 2024-12-29 03:10:10
asal
148 orang telah melayarinya

Catatan yang sangat ringkas tentang cara melakukan seeders dalam sekuel. Seeder ialah cara anda mencipta data statik dalam pangkalan data yang anda mahu hadir tanpa pengguna perlu menciptanya.

Matlamat ini adalah untuk menambahkan beberapa data statik pada jadual jenis tugas saya yang sangat asas dalam apl todo saya yang ditakrifkan oleh model ini:

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;
  };
Salin selepas log masuk

Untuk mencipta templat seeder:

npx sequelize-cli seed:generate --name add-static-task-types
Salin selepas log masuk

Ini sedang mengisi templat seeder dengan beberapa jenis tugasan.

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

Salin selepas log masuk

NOTA: jangan lupa tambah lajur createAt dan updatedAt, jika tidak, anda akan mendapat ralat berikut:

ERROR: null value in column "createdAt" of relation "static_urgencies" violates not-null constraint
ERROR DETAIL: Failing row contains (1, Now, null, null).
Salin selepas log masuk

Untuk menjalankan benih:

npx sequelize-cli db:seed:all
Salin selepas log masuk

Kejayaan seperti yang ditunjukkan dalam tetingkap DBeaver:

Sequelize seeders for static data

Atas ialah kandungan terperinci Sekuelkan pembenih untuk data statik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan