Dane testowe · spójne z kluczami obcymi · ze schematu

Generator danych testowych: realistyczny, spójny z kluczami obcymi, w kilka minut.

SeedBase czyta schemat Twojej bazy danych (SQL, Django, Prisma lub wprost z Postgres/MySQL) i generuje syntetyczne dane testowe, w których każdy zadeklarowany klucz obcy się rozwiązuje, a rozkłady wyglądają jak w środowisku produkcyjnym. Do programowania, środowiska staging, CI i prezentacji.

Plan darmowy · bez karty kredytowej · hosting w UE · bez trackerów

Problem z ręcznie tworzonymi danymi testowymi

Każdy projekt zna dwie złe opcje: trzy ręcznie wpisane wiersze fixtures, które niczego nie testują, albo kopię produkcyjnej bazy danych z prawdziwymi danymi klientów na każdym laptopie programisty.

Fixtures się dezaktualizują

Każda migracja psuje ręcznie utrzymywane dane testowe. Nowe kolumny zostają puste, nowych tabel brakuje w całości.

Puste bazy ukrywają błędy

Paginacja, zapytania N+1, problemy z wydajnością i wypełnione dashboardy ujawniają się dopiero przy realistycznych ilościach danych i rozkładach.

Zrzuty produkcji to ryzyko RODO

Prawdziwe adresy e-mail, numery IBAN i adresy na maszynach deweloperskich, w wolumenach CI i starych kopiach zapasowych, każda kopia to powierzchnia ataku.

Jak to działa

Zaimportuj schemat

Wklej zrzut SQL, wypchnij models.py (wtyczka do VS Code lub JetBrains), wgraj schemat Prisma albo połącz się bezpośrednio z bazą danych.

Generuj

Ustaw liczbę wierszy na tabelę lub pozwól zdecydować heurystyce. Rozkłady konfigurowalne: long-tail, normalny, wiersze na rekord nadrzędny.

Eksportuj lub wypchnij

Pobierz SQL, CSV lub JSON, albo zapisz wprost do Postgres/MySQL. Deterministycznie dla danego ziarna, a więc odtwarzalnie w CI.

Co potrafią generowane dane

spójność FK

Każdy klucz obcy się rozwiązuje

Rekordy podrzędne odwołują się do istniejących rekordów nadrzędnych, także przez self-reference (parent_id) i relacje 1:1. Wstawianie w kolejności topologicznej.

realistycznie

Rozkłady jak w prawdziwym życiu

Nie każdy użytkownik ma dokładnie 5 zamówień: rozkłady long-tail i normalne dają realistyczny rozrzut, to właśnie tam ujawniają się błędy paginacji i wydajności.

aktualnie

Daty przesuwają się razem z czasem

Znaczniki czasu generowane są względem dzisiaj. Dashboardy „ostatnie 30 dni” pozostają wypełnione, zamiast pustoszeć z każdym miesiącem.

rozpoznane

Kolumny rozumieją się same

email staje się adresem e-mail, city miastem, price prawdopodobną kwotą, rozpoznane z nazw kolumn, typów i (opcjonalnie) przykładowych danych.

config-as-code

Odtwarzalnie w CI

Wyeksportuj konfigurację generowania jako JSON, commituj obok migracji, stosuj w pipeline. CLI dla Pythona, SDK dla Node i PHP.

RODO

Albo: maskuj prawdziwe dane

Gdy muszą to być dane produkcyjne: automatycznie wykrywaj PII, maskuj z zachowaniem formatu i spójnie przy joinach. Więcej o anonimizacji zgodnej z RODO →

Szczerze mówiąc: dla projektu z 5 tabelami i dwoma fixtures w zupełności wystarczy Faker lub factory_boy. SeedBase opłaca się wtedy, gdy bazy danych muszą być pełne i spójne, przy wielu tabelach, w zespołach, w CI lub gdy z tej samej bazy korzystają usługi spoza Pythona. Przetestowane na prawdziwym projekcie Django z 20 aplikacjami i 226 tabelami, dokładnie w tym przypadku, dla którego zostało zbudowane.

Najczęstsze pytania

Jak wygenerować dane testowe ze schematu mojej bazy danych?

Zaimportuj schemat (zrzut SQL, plik Django models.py, schemat Prisma lub bezpośrednie połączenie z Postgres/MySQL), ustaw liczbę wierszy lub pozwól zdecydować heurystyce i generuj. Każdy klucz obcy wskazuje na istniejący rekord, eksport jako SQL, CSV lub JSON, albo wprost do docelowej bazy danych.

Czym SeedBase różni się od biblioteki Faker lub danych losowych?

Biblioteki takie jak Faker generują pojedyncze realistyczne wartości, ale nie spójną bazę danych: klucze obce, rozkłady i zależności trzeba okablować samodzielnie. SeedBase czyta schemat i robi dokładnie to. Szczegółowe porównanie →

Czy generowane dane testowe są zgodne z RODO?

W pełni syntetyczne dane nie zawierają danych osobowych, za wartościami nie stoją żadne prawdziwe osoby. Kto potrzebuje prawdziwych danych produkcyjnych, maskuje je z zachowaniem formatu i spójności. Szczegóły o anonimizacji →

Czy mogę wpiąć generowanie w CI/CD?

Tak, deterministycznie dla danego ziarna, konfiguracja jako JSON obok migracji, CLI (pip install seedbase) oraz SDK dla Node i PHP.

W dwie minuty do pełnej testowej bazy danych

Zarejestruj się, wklej schemat, generuj. Bez rozmowy handlowej, bez karty kredytowej, plan darmowy wystarczy na pierwsze prawdziwe wrażenie.

  • Spójność z kluczami obcymi
  • Realistyczne rozkłady
  • SQL / CSV / JSON
  • Hosting w UE
Zacznij teraz za darmo

Dla Twojego stacku: Django · Prisma · SQL  ·  Porównanie: vs Mockaroo · vs Faker