Hands-free test data generator for JDBC databases that auto-discovers schemas, respects foreign keys, and produces realistic, reproducible data
Bloviate is a hands-free test data generator for JDBC-compatible databases. It auto-discovers your schema, respects foreign key relationships, and fills tables (or CSV/TSV files) with realistic, reproducible data—generated entirely from schema metadata rather than copies of production data, which sidesteps privacy concerns.
Built as a multi-module Maven project on Java 25, Bloviate pairs a dependency-free core engine with optional integration modules: bloviate-junit for JUnit 5, bloviate-testcontainers for Testcontainers, and bloviate-datafaker for semantically realistic values via Datafaker. Generation is deterministic—the same seed and schema produce identical data, even under parallel and partitioned fills that preserve referential integrity across large datasets.
Supports PostgreSQL, MySQL, and CockroachDB with type-aware generation driven by column metadata and foreign-key-aware fill ordering, plus a pluggable generator registry for per-column customization. Documentation, guides, and examples now live at bloviate.io.
Tech: Java, Maven, JUnit 5, Datafaker, PostgreSQL, MySQL, CockroachDB, TestContainers
Features
- Automatic schema discovery with foreign-key-aware fill ordering
- Deterministic, seeded generation for byte-identical, reproducible data
- Multi-module design: dependency-free core plus JUnit 5, Testcontainers, and Datafaker integrations
- Parallel and partitioned fills for large datasets while preserving referential integrity
- Type-aware generation with a pluggable generator registry for per-column customization
- Flat file output (CSV, TSV, pipe-delimited) alongside direct database fills
Links: GitHub: timveil/bloviate · Website
More from the portfolio
This project is part of tvsguide.io, the personal portfolio of Tim Veil — software engineer and CIO at Two Bear Capital, previously at StarTree, Cockroach Labs, and Hortonworks. The full collection covers distributed systems, data infrastructure, JDBC drivers, AI services, build pipelines, real-time analytics, and a couple of personal apps. Each project ships with source code, tech notes, and links to live deployments where applicable.
Browse the project index, read about Tim's background, follow the blog, or return to the homepage. Source code lives on GitHub; professional history is on LinkedIn.