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; };
Untuk mencipta templat seeder:
npx sequelize-cli seed:generate --name add-static-task-types
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 }); } };
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).
Untuk menjalankan benih:
npx sequelize-cli db:seed:all
Kejayaan seperti yang ditunjukkan dalam tetingkap DBeaver:
Atas ialah kandungan terperinci Sekuelkan pembenih untuk data statik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!