Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.ellomas.com/llms.txt

Use this file to discover all available pages before exploring further.

seedling generate

The main command. Generates test data from a schema file and writes it to the specified output.

Usage

seedling generate [options]

Flags

FlagDescriptionDefault
--countRows per root table100
--seedDeterministic seed (0 = random)0
--schemaSchema file pathschema.yaml
--outputOutput file or directorystdout
--formatOutput format (sql, csv, jsonl, parquet)sql
--batch-sizeRows per batch1000
--dbDirect database insert DSN
--copyUse COPY protocol (Postgres only)false
--truncateTRUNCATE tables before insertingfalse
--generatorsYAML generator overrides file
--configseedling.yaml config file
--dry-runPrint plan without generatingfalse
--parallelGenerate tables in parallelfalse
--verboseProgress bars and summaryfalse

Examples

Basic SQL Generation

seedling generate --count 10000 --output seed.sql

Deterministic Generation

seedling generate --count 50000 --seed 42 --output seed.sql

Direct Database Insert

seedling generate --count 500000 --db postgres://localhost:5432/staging

Postgres COPY Protocol (Max Throughput)

seedling generate --count 1000000 --db postgres://localhost:5432/staging --copy

CSV Output

seedling generate --count 10000 --output data/ --format csv

Dry Run

seedling generate --count 500000 --dry-run --verbose
Output:
Plan:
  users:    500,000 rows
  orders:   1,200,000 rows (FK: users.id)
  payments: 1,200,000 rows (FK: orders.id)
  ---
  Total:    2,900,000 rows
  Est. size: 450 MB
  FK order: users → orders → payments

With Generator Overrides

seedling generate --count 10000 --generators overrides.yaml

With Config File

seedling generate --config seedling.yaml