From e886c2bae555a67cf7cca4a7c6022a6ac3cb6286 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20=C5=A0tancl?= Date: Sat, 14 Mar 2020 19:58:19 +0100 Subject: [PATCH] Use seeder params in tenants:seed instead of just the automatic seeder --- assets/config.php | 2 +- src/Commands/Seed.php | 4 ++++ src/Jobs/QueuedTenantDatabaseSeeder.php | 8 ++------ src/TenantManager.php | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/assets/config.php b/assets/config.php index 96cf05db..fad8ac41 100644 --- a/assets/config.php +++ b/assets/config.php @@ -104,7 +104,7 @@ return [ ], 'seed_after_migration' => false, // should the seeder run after automatic migration 'seeder_parameters' => [ - '--class' => 'DatabaseSeeder', // root seeder class to run after automatic migrations, e.g.: 'DatabaseSeeder' + '--class' => 'DatabaseSeeder', // root seeder class, e.g.: 'DatabaseSeeder' // '--force' => true, // force database seeder ], 'queue_database_deletion' => false, diff --git a/src/Commands/Seed.php b/src/Commands/Seed.php index c1f37150..fd59108e 100644 --- a/src/Commands/Seed.php +++ b/src/Commands/Seed.php @@ -52,6 +52,10 @@ class Seed extends SeedCommand $this->input->setOption('database', $tenant->getConnectionName()); + foreach (config('tenancy.seeder_parameters') as $parameter => $value) { + $this->input->setOption($parameter, $value); + } + $tenant->run(function () { // Seed parent::handle(); diff --git a/src/Jobs/QueuedTenantDatabaseSeeder.php b/src/Jobs/QueuedTenantDatabaseSeeder.php index 656ae956..e1ecea41 100644 --- a/src/Jobs/QueuedTenantDatabaseSeeder.php +++ b/src/Jobs/QueuedTenantDatabaseSeeder.php @@ -19,13 +19,9 @@ class QueuedTenantDatabaseSeeder implements ShouldQueue /** @var string */ protected $tenantId; - /** @var array */ - protected $seederParameters = []; - - public function __construct(Tenant $tenant, $seederParameters = []) + public function __construct(Tenant $tenant) { $this->tenantId = $tenant->id; - $this->seederParameters = $seederParameters; } /** @@ -37,6 +33,6 @@ class QueuedTenantDatabaseSeeder implements ShouldQueue { Artisan::call('tenants:seed', [ '--tenants' => [$this->tenantId], - ] + $this->seederParameters); + ]); } } diff --git a/src/TenantManager.php b/src/TenantManager.php index e25b5711..e80bf656 100644 --- a/src/TenantManager.php +++ b/src/TenantManager.php @@ -86,11 +86,11 @@ class TenantManager if ($this->shouldSeedAfterMigration()) { $afterCreating[] = $this->databaseCreationQueued() - ? new QueuedTenantDatabaseSeeder($tenant, $this->getSeederParameters()) + ? new QueuedTenantDatabaseSeeder($tenant) : function () use ($tenant) { $this->artisan->call('tenants:seed', [ '--tenants' => [$tenant['id']], - ] + $this->getSeederParameters()); + ]); }; }