A Laravel package that generates seed files from existing database tables, automating the reverse seeding process.
iSeed is a Laravel package that generates database seed files from existing database tables. It solves the problem of manually creating seeders by automatically extracting table data and producing ready-to-use seed classes. This is particularly useful for populating development and testing environments with realistic data.
Laravel developers who need to create database seeders from existing data, especially those working on projects with complex database structures or requiring consistent test data.
Developers choose iSeed because it automates a tedious manual process, supports advanced features like data filtering and event hooks, and integrates seamlessly with Laravel's Artisan command system. Its flexibility in handling different database systems and customization options makes it superior to writing seeders manually.
Laravel Inverse Seed Generator
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports WHERE clauses, row limits, skips, and ordering via command options like --where and --max, allowing precise control over exported data subsets.
Enables pre-run and post-run Laravel events with --prerun and --postrun, facilitating custom logic execution during seeding processes.
Automatically manages MySQL foreign key checks and PostgreSQL sequence resets with --skip-fk-checks and --reset-sequences, reducing manual intervention.
Offers --noregister to avoid auto-registration and --force for overwrites, giving flexibility in seed file management without disrupting workflows.
Lacks built-in tools for masking sensitive information, requiring manual data scrubbing before generating seeds from production databases for compliance.
Features like --skip-fk-checks generate MySQL-specific SQL, and --reset-sequences is PostgreSQL-only, limiting portability across different database systems.
With over 15 optional parameters, the Artisan command can become verbose and error-prone, especially for filtering or multi-table operations.
Only exports existing table data as-is, lacking support for dynamic transformations or randomization, unlike Laravel factories for varied test scenarios.