add modules seeeders to base apps

This commit is contained in:
2024-11-05 18:40:23 +05:00
parent 158569663a
commit db69904f38
19 changed files with 69 additions and 76 deletions

View File

@@ -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);
}
}