Este módulo proporciona funcionalidades para generar datos de prueba automáticamente para entidades de TypeORM o Mongoose en la aplicación NestJS.
- Generación automática de datos para entidades TypeORM y Mongoose
- Configuración flexible para personalizar los campos a generar
- Soporte para relaciones entre entidades
- Opciones para limpiar datos existentes antes de generar nuevos
- Posibilidad de ejecutar seeders durante el arranque de la aplicación
El módulo viene incluido en el template. Para utilizarlo, simplemente importa el módulo en tu aplicación:
import { DataSeederModule } from './app/data-seeder';
@Module({
imports: [
DataSeederModule.forRoot(),
],
})
export class AppModule {}
import { Injectable } from '@nestjs/common';
import { DataSeederService } from './app/data-seeder';
import { UserEntity } from './users/entities/user.entity';
@Injectable()
export class AppService {
constructor(private readonly dataSeederService: DataSeederService) {}
async seedUsers() {
// Generar 10 usuarios con datos aleatorios
const users = await this.dataSeederService.seed(UserEntity, 10);
console.log(`Generados ${users.length} usuarios`);
return users;
}
}
import { Injectable } from '@nestjs/common';
import { DataSeederService } from './app/data-seeder';
import { ProductEntity } from './products/entities/product.entity';
@Injectable()
export class ProductService {
constructor(private readonly dataSeederService: DataSeederService) {}
async seedProducts() {
// Generar 20 productos con datos personalizados
const products = await this.dataSeederService.seed(ProductEntity, 20, {
overrides: {
price: () => Math.random() * 100 + 10, // Precio entre 10 y 110
inStock: true, // Valor fijo para todos los productos
category: ['Electronics', 'Home', 'Clothing'], // Selección aleatoria de estas categorías
},
relations: {
// Configuración para relaciones
}
});
return products;
}
}
Genera y guarda en la base de datos un número específico de entidades.
-
entityClass
: La clase de la entidad (TypeORM o Mongoose) -
count
: Número de entidades a generar -
options
: Opciones de configuración para la generación
Genera y guarda una única entidad.
Genera entidades sin guardarlas en la base de datos.
Elimina todas las entidades del tipo especificado de la base de datos.