Seeding
VeloxTS provides an expressive seeding system for populating your database with test data.
Quick Start
Section titled “Quick Start”velox db:seedCreating Seeders
Section titled “Creating Seeders”velox make seeder usersCreates database/seeders/users.ts:
import { defineSeeder } from '@veloxts/orm';import { db } from '@/database';
export default defineSeeder({ name: 'users', run: async () => { await db.user.createMany({ data: [ { name: 'Alice', email: 'alice@example.com' }, { name: 'Bob', email: 'bob@example.com' }, ], }); },});Factories
Section titled “Factories”Generate realistic data with factories:
import { defineFactory } from '@veloxts/orm';import { faker } from '@faker-js/faker';
export const userFactory = defineFactory({ model: 'user', definition: () => ({ name: faker.person.fullName(), email: faker.internet.email(), createdAt: faker.date.past(), }),});
// Usageawait userFactory.create(); // Single userawait userFactory.createMany(10); // 10 usersawait userFactory.make(); // Create without savingCommands
Section titled “Commands”| Command | Description |
|---|---|
velox db:seed | Run all seeders |
velox db:seed --seeder=users | Run specific seeder |
velox db:seed --fresh | Fresh database + seed |
Next Steps
Section titled “Next Steps”- Migrations - Schema changes
- Testing - Test patterns