advanced-alchemy-database-seeding
Installation
SKILL.md
Database Seeding
Execution Workflow
- Store fixtures as JSON objects or arrays of objects in a dedicated fixtures directory.
- Use
open_fixture()for sync code oropen_fixture_async()for async code. - Create repository instances inside a real session and load fixture records in batches.
- Seed parent tables before child tables and make the process idempotent when possible.
- Wire seeding into startup hooks, dedicated commands, or one-off scripts based on environment needs.
Implementation Rules
- Keep fixture files versioned alongside the application code.
- Use
add_many()orupsert_many()instead of row-by-row inserts for non-trivial datasets. - Separate development, test, and production seed data explicitly.
- Do not hide seeding in normal request paths.