Stop writing INSERT statements by hand.
datagen reads your stored procedure logic and generates relational test data that satisfies every constraint automatically.
# One command to populate your DB
$ qseed run --sp GetCustomerOrders --rows 10
Parsing SP: [dbo].[GetCustomerOrders]...
Detecting Constraints: [FK_Customer], [Check_Status]
Building Relational Graph...
Success: 42 rows generated across 4 tables.
Output: test_data_2024.sql
Testing DB logic is a bottleneck.
Manual data prep is brittle, slow, and prone to human error.
FK Constraint Hell
Tracing 5 levels of foreign keys just to insert one row for a unit test.
Opaque Logic
Stored procedures are black boxes. Finding the "happy path" data is guesswork.
Brittle Scripts
Schema changes break your static SQL mocks instantly. datagen is dynamic.
The technical flow
Introspection
We connect to your staging DB and parse the Abstract Syntax Tree (AST) of the target procedure.
Logic Mapping
Our engine identifies every conditional branch and parameter requirement to ensure code coverage.
Generation
SQL INSERT statements are produced in the exact order required to satisfy referential integrity.
Context-Aware Mocking
Unlike random generators, datagen looks at the WHERE clauses and JOINs to pick data that actually returns results.
Procedure Chains
Handles nested EXEC calls automatically.
Local First
Data never leaves your infrastructure.
Engineered for MSSQL
Built specifically to handle the complexities of T-SQL and large-scale Enterprise schemas.
Implementation
CLI Installation
# Install package
$ pip install qseed
# Run generator
$ qseed run --sp GetOrders
API Endpoint
curl -X POST https://datagen.aldimhr.dev \
-H "Authorization: Bearer $KEY" \
-d '{"sp": "GetOrders", "rows": 5}'
Honest constraints
Technical precision requires transparency.
Ready to automate?
Stop wasting engineering hours on manual SQL prep. Scale your tests today.