Skip to main content

Seeders

Generate seeder file

Generate new seeder file:

node op make:seeder <migration_name>

For example:

node op make:seeder employee

Possible file name:

  • 2025_12_13_112951_seed_employee.js

Write seeder

The migration file:

import db from '../../app/models/modrels.js';

async function up({context: QueryInterface}) {
if(db.Employee) {
await db.Employee.bulkCreate([

]);
}else {
await QueryInterface.bulkInsert('employees', [

]);
}

}

async function down({context: QueryInterface}) {
await QueryInterface.bulkDelete('employees');
}

export { up, down }

If there is a model and it is registered in the modrels.js file, then we can use the bulkCreate() function. It is recommended to use this. If there is no model, we can use the bulkInsert() function.

For example:

    await db.Employee.bulkCreate([
{ name: 'John Doe' },
{ name: 'Jane Doe' }
]);

Complett file:

import db from '../../app/models/modrels.js';

async function up({context: QueryInterface}) {
if(db.Employee) {
await db.Employee.bulkCreate([
{ name: 'John Doe' },
{ name: 'Jane Doe' }
]);
}else {
await QueryInterface.bulkInsert('employees', [

]);
}

}

async function down({context: QueryInterface}) {
await QueryInterface.bulkDelete('employees');
}

export { up, down }

Run seeder

We can run all seeders at once or a specific seeder.

Run all:

node op db:seed

Run one seeder:

node op db:seed <seeder_filename>
node op db:seed 2025_12_13_112951_seed_employee.js

Reset seeders

node op db:seed:reset

The reset will undo all seeders.

Rollback seeder

Rollback undoes the last seeder.

node op db:seed:rollback