Skip to content

@joakimbugge/typeorm-seeder


@joakimbugge/typeorm-seeder / RunSeedersOptions

Interface: RunSeedersOptions

Defined in: seeder/runner.ts:12

Options for runSeeders. Extends SeedContext with lifecycle hooks and logging control.

Extends

Properties

dataSource?

ts
optional dataSource?: DataSource;

Defined in: seed/registry.ts:20

The TypeORM DataSource. Automatically set by save/saveMany calls. Also available in factory callbacks — useful for looking up existing entities instead of creating new ones:

Example

ts
@Seed(async ({ dataSource }) => dataSource.getRepository(Role).findOneByOrFail({ name: 'admin' }))
role!: Role

Inherited from

SeedContext.dataSource


logger?

ts
optional logger?: SeederLogger;

Defined in: seeder/runner.ts:29

Custom logger used when logging is true. Ignored for other logging values. Defaults to ConsoleLogger when omitted.


logging?

ts
optional logging?: boolean | "typeorm";

Defined in: seeder/runner.ts:24

Controls seeder progress output.

  • false (default) — no output.
  • true — logs via ConsoleLogger (or a custom SeederLogger if logger is provided).
  • 'typeorm' — delegates to the TypeORM logger on the provided dataSource. Output follows TypeORM's own logging configuration: if TypeORM logging is disabled, seeder output is suppressed too. Silently no-ops when no dataSource is available.

Default

ts
false

onAfter?

ts
optional onAfter?: (seeder, durationMs) => void | Promise<void>;

Defined in: seeder/runner.ts:33

Called after each seeder completes successfully, with the time it took in milliseconds.

Parameters

seeder

SeederCtor

durationMs

number

Returns

void | Promise<void>


onBefore?

ts
optional onBefore?: (seeder) => void | Promise<void>;

Defined in: seeder/runner.ts:31

Called before each seeder runs, in execution order.

Parameters

seeder

SeederCtor

Returns

void | Promise<void>


onError?

ts
optional onError?: (seeder, error) => void | Promise<void>;

Defined in: seeder/runner.ts:35

Called when a seeder throws. The error is re-thrown after this callback returns.

Parameters

seeder

SeederCtor

error

unknown

Returns

void | Promise<void>


relations?

ts
optional relations?: boolean;

Defined in: seed/registry.ts:29

Set to false to skip automatic relation seeding. Scalar and embedded properties are still seeded; only relation properties decorated with a bare @Seed() are skipped. Useful when you want to create flat entities and wire relations yourself.

Default

ts
true

Inherited from

SeedContext.relations


skip?

ts
optional skip?: (seeder) => boolean | Promise<boolean>;

Defined in: seeder/runner.ts:37

Called for each seeder before it runs. Return true to skip it entirely.

Parameters

seeder

SeederCtor

Returns

boolean | Promise<boolean>

Released under the MIT License.