Built a thing I kept needing and could not find.
Most fake data tools give you a fake column or a fake table. None of them keep the relationships intact, so the moment you join anything the numbers stop making sense.
model2data takes a DBML schema and generates synthetic data that respects the keys and resolves foreign keys to real parent rows. It runs on DuckDB by default, so there is nothing to configure and no database access needed. It also scaffolds a dbt project on top: seeds, sources, staging models and tests.
I use it for data modelling demos and for getting a stack running before anyone has granted me a single credential.
MIT, pip install model2data.
github.com/JB-Analytica/model2data
Happy to hear where it breaks.