SeedQL blog
Notes on test data.
Why seeding breaks, why suites go flaky, and why a copy of production is the most expensive shortcut in your stack.
- 014 min read
Faker Works Fine Until Your Schema Has Foreign Keys
Random values per table look great in isolation and fall apart the moment your data has relationships. Here is why, and what to do instead.
Read - 024 min read
Your Tests Aren't Flaky. Your Test Data Is.
Most flaky test suites are not a timing problem. They are a shared mutable state problem wearing a timing costume.
Read - 035 min read
Your Staging Database Is a Copy of Production. That's a Breach With a Delay Timer.
Nobody defends this practice. Everybody does it. Here is the honest accounting of what you are actually exposing.
Read - 044 min read
The Three Day Ticket: Why Refreshing Test Data Needs a DBA and Shouldn't
The provisioning queue is not a tooling problem. It is a permissions problem that everyone has learned to work around.
Read - 054 min read
Masking Production Data Is Not Anonymisation
Replacing the name field feels like privacy work. Uniqueness in combination is what identifies people, and masking leaves it intact.
Read - 064 min read
500,000 Rows That Look Real: Load Testing Without Uniform Random Junk
Uniform data hides the exact hotspots you are load testing to find. Volume without skew is a test that passes and teaches you nothing.
Read - 074 min read
Nobody Can Onboard Without a Working Local Database
Day one goes fine until step four of the README. The seeding script rotted months ago and the person who wrote it has left.
Read - 084 min read
Same Rows Every Run: Why CI Needs Deterministic Test Data
A failure you cannot reproduce is not a bug report. It is a rumour. Determinism is what turns one into the other.
Read - 094 min read
The Data Your Bugs Live In Never Survives the Copy
Sanitising a production dump removes exactly the rows that break things. The tidy result is the least useful dataset you could have built.
Read - 105 min read
Compliance Says No to Real Data in Test. Now What?
The policy is usually right. The problem is that nobody funded the alternative, so teams comply on paper and copy anyway.
Read
In the meantime
If you want to know what is shipping rather than what is being thought about, the changelog is the contract. Every release, every lock ratification, every “Coming soon” graduation, public and dated.