1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2026-02-05 07:54:03 +00:00

Utilize Tenant Run in commands

This commit is contained in:
Samuel Štancl 2019-10-26 22:07:17 +02:00
parent b4caaaed51
commit bbfeb163f4
4 changed files with 24 additions and 49 deletions

View file

@ -49,21 +49,15 @@ class Migrate extends MigrateCommand
return; return;
} }
$originalTenant = tenancy()->getTenant();
tenancy()->all($this->option('tenants'))->each(function ($tenant) { tenancy()->all($this->option('tenants'))->each(function ($tenant) {
$this->line("Tenant: {$tenant['id']}"); $this->line("Tenant: {$tenant['id']}");
$this->input->setOption('database', $tenant->getConnectionName()); $this->input->setOption('database', $tenant->getConnectionName());
tenancy()->initialize($tenant);
// Migrate $tenant->run(function () {
parent::handle(); // Migrate
parent::handle();
tenancy()->endTenancy(); });
}); });
if ($originalTenant) {
tenancy()->initialize($originalTenant);
}
} }
} }

View file

@ -33,30 +33,23 @@ final class MigrateFresh extends Command
*/ */
public function handle() public function handle()
{ {
$originalTenant = tenancy()->getTenant();
$this->info('Dropping tables.');
tenancy()->all($this->option('tenants'))->each(function ($tenant) { tenancy()->all($this->option('tenants'))->each(function ($tenant) {
$this->line("Tenant: {$tenant->id}"); $this->line("Tenant: {$tenant->id}");
tenancy()->initialize($tenant); $tenant->run(function ($tenant) {
$this->info('Dropping tables.');
$this->call('db:wipe', array_filter([ $this->call('db:wipe', array_filter([
'--database' => $tenant->getConnectionName(), '--database' => $tenant->getConnectionName(),
'--force' => true, '--force' => true,
])); ]));
$this->call('tenants:migrate', [ $this->info('Migrating.');
'--tenants' => [$tenant->id], $this->callSilent('tenants:migrate', [
]); '--tenants' => [$tenant->id],
]);
tenancy()->end(); });
}); });
$this->info('Done.'); $this->info('Done.');
if ($originalTenant) {
tenancy()->initialize($originalTenant);
}
} }
} }

View file

@ -49,21 +49,15 @@ class Rollback extends RollbackCommand
return; return;
} }
$originalTenant = tenancy()->getTenant();
tenancy()->all($this->option('tenants'))->each(function ($tenant) { tenancy()->all($this->option('tenants'))->each(function ($tenant) {
$this->line("Tenant: {$tenant['id']}"); $this->line("Tenant: {$tenant['id']}");
$this->input->setOption('database', $tenant->getConnectionName()); $this->input->setOption('database', $tenant->getConnectionName());
tenancy()->initialize($tenant);
// Migrate $tenant->run(function () {
parent::handle(); // Rollback
parent::handle();
tenancy()->endTenancy(); });
}); });
if ($originalTenant) {
tenancy()->initialize($originalTenant);
}
} }
} }

View file

@ -47,21 +47,15 @@ class Seed extends SeedCommand
return; return;
} }
$originalTenant = tenancy()->getTenant();
tenancy()->all($this->option('tenants'))->each(function ($tenant) { tenancy()->all($this->option('tenants'))->each(function ($tenant) {
$this->line("Tenant: {$tenant['id']}"); $this->line("Tenant: {$tenant['id']}");
$this->input->setOption('database', $tenant->getConnectionName()); $this->input->setOption('database', $tenant->getConnectionName());
tenancy()->initialize($tenant);
// Seed $tenant->run(function () {
parent::handle(); // Seed
parent::handle();
tenancy()->endTenancy(); });
}); });
if ($originalTenant) {
tenancy()->initialize($originalTenant);
}
} }
} }