Blog

Notes on building a test data generator

Guides on getting realistic, foreign-key-consistent data out of your schema, plus the honest build-in-public version of what breaks along the way.

migration

After Neosync: replacing synthetic data and anonymization

Neosync was archived in 2025. It did two jobs, generation and production-data anonymization. How to cover both from one schema instead of bolting two tools together.

~7 min read
migration

After Snaplet Seed: replacing seed.ts and createSeedClient

Snaplet Seed is frozen since 2024. How to drop seed.ts and generate foreign-key-consistent data straight from your Prisma, Django or SQL schema instead.

~7 min read
guide

How to generate test data from your database schema (the complete guide)

SQL, Django or Prisma: what referential consistency, insert order and realistic distributions actually require, and how to get a loadable database instead of disconnected rows.

~8 min read
guide

How to mask production data for staging (without the GDPR risk)

Copying prod into staging is a breach waiting to happen. Mask PII in place, carve a FK-consistent subset, or generate synthetic data so production never leaves production.

~6 min read
tutorial

Prisma seed data without writing a seed script

Stop hand-maintaining prisma/seed.ts. Generate a populated, relation-consistent database straight from your schema.prisma. The maintained Snaplet seed replacement.

~6 min read
deep dive

Why Faker breaks when your test data has foreign keys

Faker makes great single values and zero guarantees about how they fit together. Exactly where it falls apart once your data has relationships, with code.

~6 min read
tutorial

How to seed a Django database with realistic test data

From models.py to a populated, foreign-key-consistent database. No rotting fixtures, no factory boilerplate, no hand-written seed command.

~6 min read
tutorial

How to generate foreign-key-consistent test data from your schema

Step by step: get a database where every foreign key resolves, from a SQL, Django or Prisma schema, loadable into Postgres or MySQL without a single constraint error.

~6 min read
build in public

I found lorem ipsum in my own test data generator

The data quality bugs I caught in my own product the week before launch, lorem ipsum, impossible timestamps, totals that didn't add up, and how I fixed them.

~5 min read