Aller au contenu principal

Seed Studio

Charger des donnees de test realistes en respectant les foreign keys et les contraintes. Profils preconfigures pour QA, PO, Dev.

Quand l'utiliser

  • Vous montez une nouvelle staging et voulez la peupler en quelques minutes.
  • Un PM veut tester un scenario avec 10 clients fictifs sans toucher la prod.
  • Un dev a besoin d'un dataset reproductible pour travailler une feature.

Workflow rapide

  1. Seed Studio -> choisir un profil : PO (small dataset realiste), QA (edge cases), Dev (volumineux pour stress).
  2. Selectionner les tables cibles. Le smart inject calcule l'ordre topologique d'insertion via le graph FK.
  3. Configurer les SeedScenario : nombre de lignes par table, contraintes (date range, enum values, references existantes).
  4. Dry-run pour voir le SQL genere et les volumes.
  5. Executer. Auralith insere par batch dans le bon ordre, gere les FK, stocke un SeedHistory pour rollback eventuel.

Concepts cles

  • Profil : preset (PO, QA, Dev) avec des reglages par defaut.
  • SeedScenario : config persistante d'un seed (nom, tables, parametres). Reutilisable.
  • SeedHistory : trace d'execution. Permet de re-rejouer ou rollback.
  • Smart inject : ordre topologique respectant les FK. Si A.user_id -> B.id, Auralith insere B en premier.

Pieges courants

  • Contraintes UNIQUE non gerees : si la table a une contrainte UNIQUE et que vous demandez 1000 lignes mais que les valeurs random collide, Auralith retry mais peut echouer. Reduisez le volume ou changez la generation.
  • FK self-reference : table avec parent_id qui pointe sur elle-meme, Auralith insere en plusieurs passes (parent NULL d'abord, puis update).
  • Triggers complexes : si la table a des triggers BEFORE INSERT qui modifient les valeurs, le seed peut diverger du dry-run.
  • Limite par batch : 1000 rows par batch par defaut. Au-dela, plusieurs batches successifs.

API

# Lister les scenarios sauvegardes
curl https://app.auralith.io/api/v1/projects/{pid}/seed/scenarios \
-H "Authorization: Bearer $API_KEY"

# Executer un scenario
curl -X POST https://app.auralith.io/api/v1/seed/scenarios/{id}/run

Voir aussi