add modules seeeders to base apps
This commit is contained in:
@@ -3,9 +3,10 @@
|
||||
namespace Database\Seeders;
|
||||
|
||||
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||
use App\Modules\Bank\Database\Seeders\BankTableSeeder;
|
||||
use App\Modules\PaymentPurposeCode\Database\Seeders\PaymentPurposeCodeSeeder;
|
||||
|
||||
use App\Modules\BaseModule;
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Support\Facades\File;
|
||||
|
||||
class DatabaseSeeder extends Seeder
|
||||
{
|
||||
@@ -14,8 +15,26 @@ class DatabaseSeeder extends Seeder
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
$this->call([
|
||||
BankTableSeeder::class,
|
||||
]);
|
||||
$seeders = [];
|
||||
|
||||
modules()->each(function (BaseModule $module) use (&$seeders) {
|
||||
$seedersPath = $module->path.'/Database/Seeders';
|
||||
|
||||
if (is_dir($seedersPath)) {
|
||||
$files = File::files($seedersPath);
|
||||
|
||||
foreach ($files as $file) {
|
||||
$file->getFilenameWithoutExtension();
|
||||
|
||||
$moduleClass = 'App\\Modules\\'.$module->name.'\\Database\\Seeders\\'.$file->getFilenameWithoutExtension();
|
||||
|
||||
if (class_exists($moduleClass)) {
|
||||
$seeders[] = $moduleClass;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$this->call($seeders);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user