codepluswander / laravel-database-seed-version
Run database seeders with history tracking like migrations
v0.5.2
2025-03-05 20:27 UTC
Requires
- php: ^8.2
Requires (Dev)
- laravel/pint: ^1.0
- orchestra/testbench: ^7.0|^8.0
- phpunit/phpunit: ^9.5
README
This package allows you to run db:seed
and it will keep track which seeders were already ran and not run them again just like migrations.
Installation
Install via composer
composer require codepluswander/laravel-database-seed-version
Run the migrations to create the seeders
table
php artisan migrate
Usage
You can set seeder files in the config file
php artisan vendor:publish --provider="Codepluswander\LaravelDatabaseSeedVersion\DatabaseSeedVersionServiceProvider"
<?php return [ 'seeders' => [ \MyNameSpace\MySeeder::class ], ];
You can also set seeders in your AppServiceProvider
or any ServiceProvider register
function. Just call the addSeeder
function for the DatabaseSeederVersion
class after resolving it.
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; use Codepluswander\LaravelDatabaseSeedVersion\DatabaseSeederVersion; use Database\Seeders\TestSeeder; class AppServiceProvider extends ServiceProvider { public function register() { $this->app->afterResolving(DatabaseSeederVersion::class, function ($service) { $service->addSeeder([TestSeeder::class]); }); } }
Testing
composer test
Changelog
Refer to CHANGELOG for recent changes.
License
The MIT License (MIT) License File.