Documentation / @zerotal/orm / index / Seeder
Abstract Class: Seeder
Defined in: packages/orm/src/seeding/Seeder.ts:24
Base class for database seeders. Extend it and implement run to populate
your database; use call to compose other seeders. Run seeders with the
db:seed command.
Example
// database/seeders/DatabaseSeeder.ts
export class DatabaseSeeder extends Seeder {
async run(): Promise<void> {
await this.call([UserSeeder, PostSeeder]);
}
}
export class UserSeeder extends Seeder {
async run(): Promise<void> {
await User.factory().count(10).create();
}
}
Constructors
Constructor
new Seeder():
Seeder
Returns
Seeder
Methods
run()
abstractrun():Promise<void>
Defined in: packages/orm/src/seeding/Seeder.ts:26
Seed logic for this seeder. Implemented by subclasses.
Returns
Promise<void>
call()
call(
seeders):Promise<void>
Defined in: packages/orm/src/seeding/Seeder.ts:36
Run other seeder classes in sequence inside a single DB transaction. If any seeder throws, all changes are rolled back atomically. Order matters — seed dependencies before dependents (users before posts).
Parameters
seeders
() => Seeder[]
Seeder classes to instantiate and run, in order.
Returns
Promise<void>
Resolves once every seeder has run and the transaction commits.