composer require oluokunkabiru/auto-seeder in your Laravel project.php artisan seed:auto User
User with your model name (e.g., Product, Post).php artisan seed:auto --help for all available flags (e.g., --domain, --skip)./auto-seeder to interactively seed models via a UI..env for auto-seeder settings (e.g., AUTO_SEEDER_DEFAULT_COUNT=10).Quickly populate a development database for testing:
php artisan seed:auto User 50 --domain=example.com --locale=en_US
User records with realistic fake data, using example.com for emails and English locale.Schema-Aware Seeding:
Post model with a category_id foreign key will auto-populate categories table first if referenced.Bulk Seeding:
php artisan seed:auto Order 100
Conditional Seeding:
api_token):
php artisan seed:auto User 20 --skip=api_token,remember_token
php artisan seed:auto User 30 --domain=company.com --country-code=+1
Locale-Specific Data:
php artisan seed:auto User 15 --locale=fr_FR
Integration with Migrations:
php artisan migrate:fresh to populate a clean database:
php artisan migrate:fresh --seed
composer require oluokunkabiru/auto-seeder
php artisan seed:auto User 5 Product 10
Dynamic Seeding in Tests:
use Oluokun\AutoSeeder\Facades\AutoSeeder;
public function test_something()
{
AutoSeeder::seed('User', 3); // Seeds 3 users
$this->assertDatabaseHas('users', ['email' => 'user@example.com']);
}
Custom Faker Providers:
// app/Providers/FakerServiceProvider.php
use Faker\Generator as Faker;
public function register()
{
Faker::addProvider(new class($this->app['faker']) {
public function customField()
{
return 'custom_value';
}
});
}
Dashboard Customization:
/auto-seeder UI:
php artisan vendor:publish --tag=auto-seeder-views
seed button click handler (e.g., pre-seeding hooks).Seeding Foreign Key Dependencies:
php artisan seed:auto Category 5 # Seed categories first
php artisan seed:auto Product 20 # Then seed products
Environment-Specific Config:
.env:
AUTO_SEEDER_DEFAULT_COUNT=10
AUTO_SEEDER_DEFAULT_DOMAIN=example.com
AUTO_SEEDER_DEFAULT_LOCALE=en_US
Foreign Key Constraints:
categories for products), it will skip the foreign key column. Solution: Seed parent tables manually or ensure all referenced tables exist.Unique/Indexed Columns:
unique constraints may generate duplicate values. Solution: Use --skip for problematic columns or increase row count to reduce collisions.Custom Accessors/Mutators:
DB::table() or handle post-processing:
$users = User::all();
foreach ($users as $user) {
$user->update(['email' => strtolower($user->email)]);
}
Large Datasets:
php artisan seed:auto User 1000 --chunk=100
Dashboard Caching:
php artisan config:clear
Verbose Output:
php artisan seed:auto User --debug
Dry Run:
php artisan seed:auto User --dry-run
Log Generated Data:
php artisan seed:auto User 10 > seeded_data.log
Check Faker Locale:
fr_FR for French addresses). Test with:
php artisan seed:auto User 1 --locale=fr_FR --debug
Environment Variables:
.env but may not reflect immediately. Solution: Restart the server or clear cache.Model Discovery:
app/Models. Solution: Place models in this directory or configure custom paths via service provider.Faker Provider Conflicts:
AppServiceProvider@boot.Custom Data Generators:
// app/Services/CustomSeeder.php
use Oluokun\AutoSeeder\Contracts\Seeder;
class CustomSeeder implements Seeder
{
public function seed($model, $count)
{
// Custom logic
}
}
AppServiceProvider:
$this->app->bind(Seeder::class, CustomSeeder::class);
Pre/Post-Seed Hooks:
// app/Providers/EventServiceProvider.php
protected $listen = [
'oluokun.auto-seeder.seeding' => [
'App\Listeners\PreSeedListener',
],
'oluokun.auto-seeder.seeded' => [
'App\Listeners\PostSeedListener',
],
];
Override Default Faker:
// app/Providers/AppServiceProvider.php
public function register()
{
$this->app->singleton(Faker::class, function () {
return Faker\Factory::create('fr_FR');
});
}
Batch Processing:
// app/Console/Commands/BatchSeed.php
use Oluokun\AutoSeeder\Facades\AutoSeeder;
public function handle()
{
AutoSeeder::seed('User', 1000, ['chunk' => 200]);
}
How can I help you explore Laravel packages today?