mirror of
https://github.com/archtechx/tenancy.git
synced 2025-12-12 11:14:04 +00:00
Use seeder params in tenants:seed instead of just the automatic seeder (#317)
* Use seeder params in tenants:seed instead of just the automatic seeder * Left trim - from option names * Use no seeder params for tests
This commit is contained in:
parent
776af4643c
commit
526f0826a4
5 changed files with 10 additions and 9 deletions
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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(ltrim($parameter, '-'), $value);
|
||||
}
|
||||
|
||||
$tenant->run(function () {
|
||||
// Seed
|
||||
parent::handle();
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
]);
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -104,6 +104,7 @@ abstract class TestCase extends \Orchestra\Testbench\TestCase
|
|||
'driver' => 'sync',
|
||||
'central' => true,
|
||||
],
|
||||
'tenancy.seeder_parameters' => [],
|
||||
]);
|
||||
|
||||
$app->singleton(\Stancl\Tenancy\TenancyBootstrappers\RedisTenancyBootstrapper::class);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue