Framework

Seed FastAPI + Postgres with MockHero

Script

# scripts/seed.py
import os, requests
from sqlalchemy import create_engine
from sqlalchemy.orm import Session
from app.models import User, Post

engine = create_engine(os.environ["DATABASE_URL"])

body = {
  "tables": [
    {"name": "users", "count": 50, "fields": [
      {"name": "id", "type": "uuid"},
      {"name": "email", "type": "email"}
    ]},
    {"name": "posts", "count": 200, "fields": [
      {"name": "id", "type": "uuid"},
      {"name": "user_id", "type": "ref", "ref": "users.id"},
      {"name": "title", "type": "sentence"}
    ]}
  ]
}

data = requests.post(
  "https://api.mockhero.dev/api/v1/generate",
  json=body,
  headers={"x-api-key": os.environ["MOCKHERO_API_KEY"]}
).json()

with Session(engine) as s:
  s.bulk_insert_mappings(User, data["users"])
  s.bulk_insert_mappings(Post, data["posts"])
  s.commit()

Get Started

Get your free key.

M

MockHero Team

Guides and tutorials for generating realistic test data with the MockHero API.

Start generating test data for free

1,000 rows/month on the free tier. No credit card required.

Get Your API Key

Related Articles