Datos / Testing

Generador de datos de prueba (CSV / JSON)

Creá un dataset sintético con las columnas que elijas y exportalo como CSV o JSON. Útil para seeds de bases de datos, fixtures de tests y prototipos.

Qué genera este tool

Datasets sintéticos con las columnas que elijas, listos para importar:

  • id: entero secuencial.
  • firstName, lastName: combinaciones realistas.
  • email: derivado del nombre, en dominio example.com.
  • phone: formato E.164.
  • city, country: ciudades y países plausibles.
  • age: entero entre 18 y 75.
  • signupDate: ISO 8601, dentro de los últimos 3 años.
  • isActive: booleano (~80% true).
  • balance: decimal con dos decimales, entre -500 y 5000.

Formatos de salida

  1. CSV. Compatible con Excel, Google Sheets y casi cualquier base de datos. Usamos UTF-8, separador coma y comillas dobles según RFC 4180.
  2. JSON. Array de objetos. Usalo para fixtures de tests JavaScript/Python, seeds, o consumir desde scripts.
  3. JSON Lines. Un objeto JSON por línea. Eficiente para procesar streams (jq, Spark, BigQuery import).
  4. SQL INSERT. Statements listos para pegar en un cliente SQL. Genera CREATE TABLE comentado para que ajustes el esquema.

Cómo importar a tu base de datos

Cada motor tiene su comando preferido para cargar CSV:

  • PostgreSQL: COPY usuarios FROM '/path/usuarios.csv' DELIMITER ',' CSV HEADER;
  • MySQL: LOAD DATA INFILE '/path/usuarios.csv' INTO TABLE usuarios FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;
  • SQLite: .mode csv seguido de .import usuarios.csv usuarios.
  • BigQuery: consola web o bq load --source_format=CSV ....
  • MongoDB: mongoimport --type=json --file=usuarios.json --collection=usuarios.

Tamaños recomendados de datasets

El tamaño correcto depende de qué probás:

  1. 10-50 filas: tests funcionales, validación visual de tablas.
  2. 100-500 filas: tests de paginación, búsquedas, ordenamientos.
  3. 1.000-10.000 filas: tests de performance básica de consultas.
  4. 10.000+ filas: tests de carga, índices, planes de ejecución. Para esos volúmenes, conviene un script con Faker.

Buenas prácticas con datos sintéticos

  • Marcá la fuente. Una columna source = 'synthetic' permite filtrar los datos generados al limpiar la base.
  • Reproducibilidad. Si necesitás regenerar el mismo dataset para CI, usá un seed fijo (este tool no lo soporta; usá Faker con seed para eso).
  • No mezcles con producción. Mantené datasets sintéticos en bases distintas o tablas con prefijo test_.
  • Versioná los fixtures. Si un dataset funciona bien para un test, commitealo al repo.
  • Cuidado con las PII. Aún siendo sintéticos, ciertos datos pueden parecer personales. Documentá claramente que son falsos.

Cuándo usar Faker en lugar de este tool

Faker (en Node, Python, Ruby) está mejor para casos automatizados: generás dentro de tu código, con seed para reproducibilidad, locale específico, y cantidad ilimitada.

Este generador gana cuando necesitás un dataset rápido sin tocar código: poblar rápido una tabla en staging, mostrar una demo, hacer un mockup. La diferencia entre "5 minutos sin escribir código" y "20 minutos integrando Faker".

Preguntas frecuentes

¿Para qué sirve?

Para crear datasets listos para importar: CSV para Excel/SQL, JSON para fixtures de tests o seeds.

¿Cuántas filas?

Hasta 1.000 por sesión. Para volúmenes mayores, scripts con Faker.

¿Son únicos los datos?

Random. Para volúmenes pequeños puede haber duplicados ocasionales. Validá unicidad si es crítico.

¿Importable a SQL?

Sí. RFC 4180 con escape correcto. Compatible con PostgreSQL COPY, MySQL LOAD DATA y BigQuery.