Factories and Seeders
Arkorm includes class-based factories and seeders for test data and local bootstrap flows.
Factories
Create a factory
ts
import { ModelFactory } from 'arkormx'
import { User } from '../../src/models/User'
export class UserFactory extends ModelFactory<User> {
protected model = User
protected definition(sequence: number) {
return {
name: `User ${sequence}`,
email: `user${sequence}@example.com`,
}
}
}Use from model
ts
User.setFactory(UserFactory)
await User.factory().create()
await User.factory(10).createMany()Seeders
ts
import { Seeder } from 'arkormx'
export class DatabaseSeeder extends Seeder {
async run(): Promise<void> {
await this.call(UserSeeder, RoleSeeder)
await this.call([PermissionSeeder])
}
}Run seeders through CLI:
sh
npx arkorm seed
npx arkorm seed DatabaseSeeder
npx arkorm seed --all